Skip to content

Commit 3b5af96

Browse files
authored
Release 0.0.3 (#3)
* New way: now every node knows about its required parameters * docs * Update * Fix Value node and test * Unnecessary * APply and tests * Fix Printer nodes and wrote unit tests * New exception * A Buffer node and its test * Now all nodes MUST produce a labeled output. Therefore, on graph execution we call the new 'execute' method that assigns an output_label to the nodes' output results * Patched tests for existing nodes * Fix * we don't need this * Fix file readers/writers and wrote tests * Better docstring * Fix * New If, refactored out of the prev folder also. Fix replace_word * its correct to also reset output_label * Fix * Move * Fix transcoders and unit tests * partial fix * Fix randoms * Rename and fix collection module into functional_operators. Added unit tests * Fix and unit tests for logics * Fix bug * Fix maths and wrote unit tests * Fix http module and wrote unit tests * Fix * Fix * Fix last moduel and example * Dates and time * Drafts of nodes for DB connections * Template strings * Rename sqlite 3 module so its name does not overlap with std library module; add unit tests for CUD operations on DB * SQLite3 nodes for reading and writing, and unit tests * Was it untracked? * I messed up * Pointing to the right DB now * Test runner * Update * Rename and condensed tests * Refactoring * DelayedBuffer and tests, along with a new sample graph * dead import * Better printing of nodes * unit test for graphs and more methods on graph.Graph * More tests * Even more * Improve test * More tests and better ones * Add name to nxgraph edges * Cool graphs plotting! * Sample for drawing/saving plot to file * Way better * Contributors file * Skeletons for docs * Improve * Typo * Refactor all nodes into lib/ folder * Fix imports * property * Get also edges from a graph, and unit test * Better error msg * Serialize/deserialize nodes and graphs to/from dicts and JSON * Setup.py * Update * Full description * Fixes * Fix broken links * Removed, as they are now part of robograph-dbs github repo * Now deleted * Backport from master branch * Merge back from master * Fix * Remove (moved to another repo) * Introducing the 'robograph' module, and lots of refactoring therefore
1 parent 114a1d6 commit 3b5af96

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+377
-162
lines changed

README.md

+15-1

datamodel/tests/database.db

-3 KB
Binary file not shown.

docs/creating-custom-nodes.md

+4-4
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

datamodel/base/graph.py renamed to robograph/datamodel/base/graph.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22
import traceback
33
import networkx as nx
4-
from datamodel.base import exceptions
4+
from robograph.datamodel.base import exceptions
55

66
logging.basicConfig(level=logging.ERROR)
77
console = logging.getLogger(__name__)

datamodel/base/node.py renamed to robograph/datamodel/base/node.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.base.exceptions import NodeOutputLabelUndefinedError
1+
from robograph.datamodel.base.exceptions import NodeOutputLabelUndefinedError
22

33

44
class Node:

datamodel/nodes/lib/apply.py renamed to robograph/datamodel/nodes/lib/apply.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.base import node
1+
from robograph.datamodel.base import node
22

33

44
class Apply(node.Node):

datamodel/nodes/lib/branching.py renamed to robograph/datamodel/nodes/lib/branching.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.base import node
1+
from robograph.datamodel.base import node
22

33

44
class IfThenApply(node.Node):

datamodel/nodes/lib/buffers.py renamed to robograph/datamodel/nodes/lib/buffers.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import time
2-
from datamodel.base import node
2+
3+
from robograph.datamodel.base import node
34

45

56
class Buffer(node.Node):

datamodel/nodes/lib/clock.py renamed to robograph/datamodel/nodes/lib/clock.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import datetime
2-
from datamodel.base import node
2+
3+
from robograph.datamodel.base import node
34

45

56
class Date(node.Node):

datamodel/nodes/lib/email.py renamed to robograph/datamodel/nodes/lib/email.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
from smtplib import SMTP
2-
from email.mime.text import MIMEText
31
from email.mime.multipart import MIMEMultipart
4-
from datamodel.base import node
2+
from email.mime.text import MIMEText
3+
from smtplib import SMTP
4+
5+
from robograph.datamodel.base import node
56

67

78
class SmtpClient:

datamodel/nodes/lib/files.py renamed to robograph/datamodel/nodes/lib/files.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import codecs
2-
from datamodel.base import node
2+
3+
from robograph.datamodel.base import node
34

45

56
class File(node.Node):

datamodel/nodes/lib/functional_operators.py renamed to robograph/datamodel/nodes/lib/functional_operators.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.base import node
1+
from robograph.datamodel.base import node
22

33

44
# Functional operators

datamodel/nodes/lib/http.py renamed to robograph/datamodel/nodes/lib/http.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import requests
2-
from datamodel.base import node
2+
3+
from robograph.datamodel.base import node
34

45

56
class HttpClient(node.Node):

datamodel/nodes/lib/logics.py renamed to robograph/datamodel/nodes/lib/logics.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import apply
1+
from robograph.datamodel.nodes.lib import apply
22

33

44
class Not(apply.Apply):

datamodel/nodes/lib/maths.py renamed to robograph/datamodel/nodes/lib/maths.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import math
22

3-
from datamodel.base.node import Node
4-
from datamodel.nodes.lib import value, apply
3+
from robograph.datamodel.base.node import Node
4+
from robograph.datamodel.nodes.lib import value, apply
55

66

77
# Constants

datamodel/nodes/lib/printer.py renamed to robograph/datamodel/nodes/lib/printer.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import sys
21
import os
3-
from datamodel.base import node
2+
import sys
3+
4+
from robograph.datamodel.base import node
45

56

67
class ConsolePrinter(node.Node):

datamodel/nodes/lib/randoms.py renamed to robograph/datamodel/nodes/lib/randoms.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import random
22
import uuid
3-
from datamodel.base import node
3+
4+
from robograph.datamodel.base import node
45

56

67
class IntegerRandomizer(node.Node):

datamodel/nodes/lib/strings.py renamed to robograph/datamodel/nodes/lib/strings.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.base import node
1+
from robograph.datamodel.base import node
22

33

44
class TemplatedString(node.Node):

datamodel/nodes/lib/transcoders.py renamed to robograph/datamodel/nodes/lib/transcoders.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22
import os
3-
from datamodel.base import node
3+
4+
from robograph.datamodel.base import node
45

56

67
class ToJSON(node.Node):

datamodel/nodes/lib/value.py renamed to robograph/datamodel/nodes/lib/value.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.base import node
1+
from robograph.datamodel.base import node
22

33

44
class Value(node.Node):
File renamed without changes.

datamodel/nodes/serializer.py renamed to robograph/datamodel/nodes/serializer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import json
22
import cloudpickle
33
import jsonpickle
4-
from datamodel.base import graph
4+
from robograph.datamodel.base import graph
55

66

77
class NodeDeserializationException(Exception):
@@ -43,7 +43,7 @@ def from_dict(cls, node_dict):
4343
:return: datamodel.base.node.Node
4444
"""
4545
# import classes, so we can instantiate them at need
46-
import datamodel
46+
import robograph.datamodel
4747

4848
# retrieve the class object so we can instantiate the node
4949
klass = eval(node_dict['class'])
File renamed without changes.
File renamed without changes.
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
a
2+
b
3+
c

datamodel/tests/test_apply.py renamed to robograph/datamodel/tests/test_apply.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import apply
1+
from robograph.datamodel.nodes.lib import apply
22

33

44
def test_requirements():

datamodel/tests/test_buffers.py renamed to robograph/datamodel/tests/test_buffers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import time
22

3-
from datamodel.nodes.lib import buffers
3+
from robograph.datamodel.nodes.lib import buffers
44

55

66
def test_buffer():

datamodel/tests/test_clock.py renamed to robograph/datamodel/tests/test_clock.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import clock
1+
from robograph.datamodel.nodes.lib import clock
22

33

44
def check_date(year, month, day):

datamodel/tests/test_console_printer.py renamed to robograph/datamodel/tests/test_console_printer.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import printer
1+
from robograph.datamodel.nodes.lib import printer
22

33

44
def test_requirements():

datamodel/tests/test_functional_operators.py renamed to robograph/datamodel/tests/test_functional_operators.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import functional_operators as fo
1+
from robograph.datamodel.nodes.lib import functional_operators as fo
22

33

44
def sorting_function(x, y):

datamodel/tests/test_graph.py renamed to robograph/datamodel/tests/test_graph.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import pytest
2-
from datamodel.base import graph, node, exceptions
2+
from robograph.datamodel.base import graph, node, exceptions
3+
34

45
# Utilities
56

datamodel/tests/test_http.py renamed to robograph/datamodel/tests/test_http.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import http
1+
from robograph.datamodel.nodes.lib import http
22

33
QUERY = dict(pippo="1", pluto="ciao")
44
HEADERS = {

datamodel/tests/test_ifthenapply.py renamed to robograph/datamodel/tests/test_ifthenapply.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import math
22

3-
from datamodel.nodes.lib import branching
3+
from robograph.datamodel.nodes.lib import branching
44

55

66
def test_requirements():

datamodel/tests/test_ifthenreturn.py renamed to robograph/datamodel/tests/test_ifthenreturn.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import math
22

3-
from datamodel.nodes.lib import branching
3+
from robograph.datamodel.nodes.lib import branching
44

55

66
def test_requirements():

datamodel/tests/test_log_printer.py renamed to robograph/datamodel/tests/test_log_printer.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
22

3-
from datamodel.nodes.lib import printer
3+
from robograph.datamodel.nodes.lib import printer
44

55
log_level = logging.INFO
66
logging.basicConfig(level=log_level)

datamodel/tests/test_logics.py renamed to robograph/datamodel/tests/test_logics.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import logics
1+
from robograph.datamodel.nodes.lib import logics
22

33

44
def test_not():

datamodel/tests/test_maths.py renamed to robograph/datamodel/tests/test_maths.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import maths
1+
from robograph.datamodel.nodes.lib import maths
22

33

44
def test_sum():

datamodel/tests/test_serializer.py renamed to robograph/datamodel/tests/test_serializer.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
from datamodel.nodes import serializer
2-
from datamodel.base import graph
3-
from datamodel.nodes.lib import apply, value, buffers
1+
from robograph.datamodel.base import graph
2+
from robograph.datamodel.nodes import serializer
3+
from robograph.datamodel.nodes.lib import value, buffers, apply
44

55

66
def test_node_serializer():
7-
instance = apply.Apply(function=lambda x: x+2, argument=3, name='test')
7+
instance = apply.Apply(function=lambda x: x + 2, argument=3, name='test')
88
serialized = serializer.NodeSerializer.serialize(instance)
99
deserialized = serializer.NodeSerializer.deserialize(serialized)
1010
assert instance.name == deserialized.name

datamodel/tests/test_strings.py renamed to robograph/datamodel/tests/test_strings.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import strings
1+
from robograph.datamodel.nodes.lib import strings
22

33

44
def test_templated_string():

datamodel/tests/test_text_file_reader.py renamed to robograph/datamodel/tests/test_text_file_reader.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import os
22

3-
from datamodel.nodes.lib import files
3+
from robograph.datamodel.nodes.lib import files
44

5-
FILEPATH = os.path.abspath('datamodel/tests/file.txt')
5+
FILEPATH = os.path.abspath('robograph/datamodel/tests/file.txt')
66

77

88
def test_requirements():

datamodel/tests/test_text_file_writer.py renamed to robograph/datamodel/tests/test_text_file_writer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import os
22

3-
from datamodel.nodes.lib import files
3+
from robograph.datamodel.nodes.lib import files
44

5-
FILEPATH = os.path.abspath('datamodel/tests/outputfile.txt')
5+
FILEPATH = os.path.abspath('robograph/datamodel/tests/outputfile.txt')
66
EXPECTED_CONTENT = 'a\nb\nc'
77

88

datamodel/tests/test_tocsv.py renamed to robograph/datamodel/tests/test_tocsv.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import transcoders
1+
from robograph.datamodel.nodes.lib import transcoders
22

33
DATA_MATRIX = [[1,2,3],[4,5,6],[7,8,9]]
44
HEADER = ['one', 'two', 'three']

datamodel/tests/test_tojson.py renamed to robograph/datamodel/tests/test_tojson.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import transcoders
1+
from robograph.datamodel.nodes.lib import transcoders
22

33
DATA = dict(x=[1, 2, 3])
44
EXPECTED = '{"x": [1, 2, 3]}'

datamodel/tests/test_value.py renamed to robograph/datamodel/tests/test_value.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datamodel.nodes.lib import value
1+
from robograph.datamodel.nodes.lib import value
22

33

44
def test_requirements():

robograph/sample_graphs/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)