diff --git a/documentation-test-import/demo.py b/documentation-test-import/demo.py
new file mode 100644
index 0000000..f2c5e7a
--- /dev/null
+++ b/documentation-test-import/demo.py
@@ -0,0 +1,17 @@
+import documentation_test
+import documentation_test.submod1.submod1 as submod1
+import documentation_test.submod3.submod3 as submod3
+
+print(dir(documentation_test))
+
+submod1.submod1('submod1 from demo')
+
+# documentation_test.submod2.submod2('s')
+
+documentation_test.testFunction('test function from demo')
+
+documentation_test.submod2.submod2.submod2('demo submod2')
+
+inst = submod3.testClass.createString('submod3 from demo')
+
+inst.printString()
diff --git a/documentation-test/LICENSE b/documentation-test/LICENSE
new file mode 100644
index 0000000..e79dfa6
--- /dev/null
+++ b/documentation-test/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2019 Daniel Tomlinson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/documentation-test/README.rst b/documentation-test/README.rst
new file mode 100644
index 0000000..e69de29
diff --git a/documentation-test/dist/documentation-test-0.1.0.tar.gz b/documentation-test/dist/documentation-test-0.1.0.tar.gz
new file mode 100644
index 0000000..30fafe5
Binary files /dev/null and b/documentation-test/dist/documentation-test-0.1.0.tar.gz differ
diff --git a/documentation-test/dist/documentation-test-0.2.0.tar.gz b/documentation-test/dist/documentation-test-0.2.0.tar.gz
new file mode 100644
index 0000000..55796c0
Binary files /dev/null and b/documentation-test/dist/documentation-test-0.2.0.tar.gz differ
diff --git a/documentation-test/dist/documentation_test-0.1.0-py3-none-any.whl b/documentation-test/dist/documentation_test-0.1.0-py3-none-any.whl
new file mode 100644
index 0000000..54ef18d
Binary files /dev/null and b/documentation-test/dist/documentation_test-0.1.0-py3-none-any.whl differ
diff --git a/documentation-test/dist/documentation_test-0.2.0-py3-none-any.whl b/documentation-test/dist/documentation_test-0.2.0-py3-none-any.whl
new file mode 100644
index 0000000..d06aa36
Binary files /dev/null and b/documentation-test/dist/documentation_test-0.2.0-py3-none-any.whl differ
diff --git a/documentation-test/docs/documentation_test/documentation_test.html b/documentation-test/docs/documentation_test/documentation_test.html
new file mode 100644
index 0000000..00bc04f
--- /dev/null
+++ b/documentation-test/docs/documentation_test/documentation_test.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+documentation_test.documentation_test API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.documentation_test
+
+
+
+
+Expand source code
+
+import documentation_test.submod1.submod1 as submod1
+import documentation_test.submod2.submod2 as submod2
+
+__all__ = ['testFunction', 'testClass']
+
+
+class testClass(object):
+
+ """Summary of class
+
+ Attributes
+ ----------
+ arg : str
+ a string to print
+ """
+
+ def __init__(self, arg: str):
+ """Summary of init
+
+ Parameters
+ ----------
+ arg : str, optional
+ a string to print
+ """
+ super(testClass, self).__init__()
+ self.arg = arg
+
+ @classmethod
+ def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+ def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+
+def testFunction(anything: str = 'test') -> None:
+ """test function for a demo import of whole module
+
+ Parameters
+ ----------
+ anything : str, optional
+ a test string
+
+ Returns
+ -------
+ None
+ """
+ print(anything)
+
+
+submod1.submod1('string from submod1 in base')
+
+submod2.submod2('string from submod2 in base')
+
+
+
+
+
+
+
+
+def testFunction (anything: str = 'test') -> NoneType
+
+
+test function for a demo import of whole module
+Parameters
+
+anything : str, optional
+a test string
+
+Returns
+
+None
+
+
+
+
+Expand source code
+
+def testFunction(anything: str = 'test') -> None:
+ """test function for a demo import of whole module
+
+ Parameters
+ ----------
+ anything : str, optional
+ a test string
+
+ Returns
+ -------
+ None
+ """
+ print(anything)
+
+
+
+
+
+
+
+
+class testClass
+( arg: str)
+
+
+Summary of class
+Attributes
+
+arg : str
+a string to print
+
+Summary of init
+Parameters
+
+arg : str, optional
+a string to print
+
+
+
+Expand source code
+
+class testClass(object):
+
+ """Summary of class
+
+ Attributes
+ ----------
+ arg : str
+ a string to print
+ """
+
+ def __init__(self, arg: str):
+ """Summary of init
+
+ Parameters
+ ----------
+ arg : str, optional
+ a string to print
+ """
+ super(testClass, self).__init__()
+ self.arg = arg
+
+ @classmethod
+ def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+ def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+Static methods
+
+
+def createString (aString: str)
+
+
+create a string
+Parameters
+
+aString : str
+a string to print
+
+
+
+Expand source code
+
+@classmethod
+def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+
+
+Methods
+
+
+def printString (self)
+
+
+
+
+
+Expand source code
+
+def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/docs/documentation_test/index.html b/documentation-test/docs/documentation_test/index.html
new file mode 100644
index 0000000..a68bb74
--- /dev/null
+++ b/documentation-test/docs/documentation_test/index.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+documentation_test API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test
+
+
+
+
+Expand source code
+
+from documentation_test.documentation_test import *
+
+__version__ = '0.1.0'
+
+print('documentation_test __init__')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/docs/documentation_test/submod1/index.html b/documentation-test/docs/documentation_test/submod1/index.html
new file mode 100644
index 0000000..cda17cf
--- /dev/null
+++ b/documentation-test/docs/documentation_test/submod1/index.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+documentation_test.submod1 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod1
+
+
+
+
+Expand source code
+
+print('submod1.__init__')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/docs/documentation_test/submod1/submod1.html b/documentation-test/docs/documentation_test/submod1/submod1.html
new file mode 100644
index 0000000..e25f436
--- /dev/null
+++ b/documentation-test/docs/documentation_test/submod1/submod1.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+documentation_test.submod1.submod1 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod1.submod1
+
+
+
+
+Expand source code
+
+print('imported submod1')
+
+
+def submod1(myStr: str) -> None:
+ """test module for submod1
+
+ Parameters
+ ----------
+ myStr : str
+ a test string
+ """
+ print('submod1')
+ print(myStr)
+
+
+
+
+
+
+
+
+def submod1 (myStr: str) -> NoneType
+
+
+test module for submod1
+Parameters
+
+myStr : str
+a test string
+
+
+
+Expand source code
+
+def submod1(myStr: str) -> None:
+ """test module for submod1
+
+ Parameters
+ ----------
+ myStr : str
+ a test string
+ """
+ print('submod1')
+ print(myStr)
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/docs/documentation_test/submod2/index.html b/documentation-test/docs/documentation_test/submod2/index.html
new file mode 100644
index 0000000..f5fb08c
--- /dev/null
+++ b/documentation-test/docs/documentation_test/submod2/index.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+documentation_test.submod2 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod2
+
+
+
+
+Expand source code
+
+print('submod2.__init__')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/docs/documentation_test/submod2/submod2.html b/documentation-test/docs/documentation_test/submod2/submod2.html
new file mode 100644
index 0000000..363730b
--- /dev/null
+++ b/documentation-test/docs/documentation_test/submod2/submod2.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+documentation_test.submod2.submod2 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod2.submod2
+
+
+
+
+Expand source code
+
+print('imported submod2')
+
+
+def submod2(someString: str = 'submod2 string') -> None:
+ """submod2 test function
+
+ Parameters
+ ----------
+ someString : str, optional
+ a random string to show it's working
+
+ Returns
+ -------
+ None
+ """
+
+ print(someString)
+
+
+
+
+
+
+
+
+def submod2 (someString: str = 'submod2() string') -> NoneType
+
+
+submod2 test function
+Parameters
+
+someString : str, optional
+a random string to show it's working
+
+Returns
+
+None
+
+
+
+
+Expand source code
+
+def submod2(someString: str = 'submod2 string') -> None:
+ """submod2 test function
+
+ Parameters
+ ----------
+ someString : str, optional
+ a random string to show it's working
+
+ Returns
+ -------
+ None
+ """
+
+ print(someString)
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/docs/documentation_test/submod3/index.html b/documentation-test/docs/documentation_test/submod3/index.html
new file mode 100644
index 0000000..62796c9
--- /dev/null
+++ b/documentation-test/docs/documentation_test/submod3/index.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+documentation_test.submod3 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/docs/documentation_test/submod3/submod3.html b/documentation-test/docs/documentation_test/submod3/submod3.html
new file mode 100644
index 0000000..70b8694
--- /dev/null
+++ b/documentation-test/docs/documentation_test/submod3/submod3.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+documentation_test.submod3.submod3 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod3.submod3
+
+
+
+
+Expand source code
+
+# class testClass(object):
+
+# """Summary of class
+
+# Attributes
+# ----------
+# arg : str
+# a string to print
+# """
+
+# def __init__(self, arg: str):
+# """Summary of init
+
+# Parameters
+# ----------
+# arg : str, optional
+# a string to print
+# """
+# super(testClass, self).__init__()
+# self.arg = arg
+
+# @classmethod
+# def createString(cls, aString: str):
+# """create a string
+
+# Parameters
+# ----------
+# aString : str
+# a string to print
+# """
+# return cls(arg=aString)
+
+# def printString(self):
+# """Print a string
+# """
+# print(self.arg)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/documentation_test.html b/documentation-test/html/documentation_test/documentation_test.html
new file mode 100644
index 0000000..4743e00
--- /dev/null
+++ b/documentation-test/html/documentation_test/documentation_test.html
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+documentation_test.documentation_test API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.documentation_test
+
+
+
+
+Expand source code
+
+import documentation_test.submod1.submod1 as submod1
+import documentation_test.submod2.submod2 as submod2
+from documentation_test.lib.lib import export
+
+__all__ = []
+
+
+@export
+class testClass(object):
+
+ """Summary of class
+
+ Attributes
+ ----------
+ arg : str
+ a string to print
+ """
+
+ def __init__(self, arg: str):
+ """Summary of init
+
+ Parameters
+ ----------
+ arg : str, optional
+ a string to print
+ """
+ super(testClass, self).__init__()
+ self.arg = arg
+
+ @classmethod
+ def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+ def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+
+@export
+def testFunction(anything: str = 'test') -> None:
+ """test function for a demo import of whole module
+
+ Parameters
+ ----------
+ anything : str, optional
+ a test string
+
+ Returns
+ -------
+ None
+ """
+ print(anything)
+
+
+submod1.submod1('string from submod1 in base')
+
+submod2.submod2('string from submod2 in base')
+
+
+print(f'{__all__=}')
+
+
+
+
+
+
+
+
+def testFunction (anything: str = 'test') -> NoneType
+
+
+test function for a demo import of whole module
+Parameters
+
+anything : str, optional
+a test string
+
+Returns
+
+None
+
+
+
+
+Expand source code
+
+@export
+def testFunction(anything: str = 'test') -> None:
+ """test function for a demo import of whole module
+
+ Parameters
+ ----------
+ anything : str, optional
+ a test string
+
+ Returns
+ -------
+ None
+ """
+ print(anything)
+
+
+
+
+
+
+
+
+class testClass
+( arg: str)
+
+
+Summary of class
+Attributes
+
+arg : str
+a string to print
+
+Summary of init
+Parameters
+
+arg : str, optional
+a string to print
+
+
+
+Expand source code
+
+class testClass(object):
+
+ """Summary of class
+
+ Attributes
+ ----------
+ arg : str
+ a string to print
+ """
+
+ def __init__(self, arg: str):
+ """Summary of init
+
+ Parameters
+ ----------
+ arg : str, optional
+ a string to print
+ """
+ super(testClass, self).__init__()
+ self.arg = arg
+
+ @classmethod
+ def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+ def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+Static methods
+
+
+def createString (aString: str)
+
+
+create a string
+Parameters
+
+aString : str
+a string to print
+
+
+
+Expand source code
+
+@classmethod
+def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+
+
+Methods
+
+
+def printString (self)
+
+
+
+
+
+Expand source code
+
+def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/index.html b/documentation-test/html/documentation_test/index.html
new file mode 100644
index 0000000..a7de4ca
--- /dev/null
+++ b/documentation-test/html/documentation_test/index.html
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+documentation_test API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test
+
+
+
+
+Expand source code
+
+from documentation_test.documentation_test import *
+
+__version__ = '0.1.0'
+
+print('documentation_test __init__')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/lib/index.html b/documentation-test/html/documentation_test/lib/index.html
new file mode 100644
index 0000000..ab8fccf
--- /dev/null
+++ b/documentation-test/html/documentation_test/lib/index.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+documentation_test.lib API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Namespace documentation_test.lib
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/lib/lib.html b/documentation-test/html/documentation_test/lib/lib.html
new file mode 100644
index 0000000..7c8e09d
--- /dev/null
+++ b/documentation-test/html/documentation_test/lib/lib.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+documentation_test.lib.lib API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.lib.lib
+
+
+
+
+Expand source code
+
+import sys
+
+
+def export(fn):
+ mod = sys.modules[fn.__module__]
+ if hasattr(mod, '__all__'):
+ mod.__all__.append(fn.__name__)
+ else:
+ mod.__all__ = [fn.__name__]
+ return fn
+
+
+
+
+
+
+
+
+def export (fn)
+
+
+
+
+
+Expand source code
+
+def export(fn):
+ mod = sys.modules[fn.__module__]
+ if hasattr(mod, '__all__'):
+ mod.__all__.append(fn.__name__)
+ else:
+ mod.__all__ = [fn.__name__]
+ return fn
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/submod1/index.html b/documentation-test/html/documentation_test/submod1/index.html
new file mode 100644
index 0000000..cda17cf
--- /dev/null
+++ b/documentation-test/html/documentation_test/submod1/index.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+documentation_test.submod1 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod1
+
+
+
+
+Expand source code
+
+print('submod1.__init__')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/submod1/submod1.html b/documentation-test/html/documentation_test/submod1/submod1.html
new file mode 100644
index 0000000..e25f436
--- /dev/null
+++ b/documentation-test/html/documentation_test/submod1/submod1.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+documentation_test.submod1.submod1 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod1.submod1
+
+
+
+
+Expand source code
+
+print('imported submod1')
+
+
+def submod1(myStr: str) -> None:
+ """test module for submod1
+
+ Parameters
+ ----------
+ myStr : str
+ a test string
+ """
+ print('submod1')
+ print(myStr)
+
+
+
+
+
+
+
+
+def submod1 (myStr: str) -> NoneType
+
+
+test module for submod1
+Parameters
+
+myStr : str
+a test string
+
+
+
+Expand source code
+
+def submod1(myStr: str) -> None:
+ """test module for submod1
+
+ Parameters
+ ----------
+ myStr : str
+ a test string
+ """
+ print('submod1')
+ print(myStr)
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/submod2/index.html b/documentation-test/html/documentation_test/submod2/index.html
new file mode 100644
index 0000000..f5fb08c
--- /dev/null
+++ b/documentation-test/html/documentation_test/submod2/index.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+documentation_test.submod2 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod2
+
+
+
+
+Expand source code
+
+print('submod2.__init__')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/submod2/submod2.html b/documentation-test/html/documentation_test/submod2/submod2.html
new file mode 100644
index 0000000..363730b
--- /dev/null
+++ b/documentation-test/html/documentation_test/submod2/submod2.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+documentation_test.submod2.submod2 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod2.submod2
+
+
+
+
+Expand source code
+
+print('imported submod2')
+
+
+def submod2(someString: str = 'submod2 string') -> None:
+ """submod2 test function
+
+ Parameters
+ ----------
+ someString : str, optional
+ a random string to show it's working
+
+ Returns
+ -------
+ None
+ """
+
+ print(someString)
+
+
+
+
+
+
+
+
+def submod2 (someString: str = 'submod2() string') -> NoneType
+
+
+submod2 test function
+Parameters
+
+someString : str, optional
+a random string to show it's working
+
+Returns
+
+None
+
+
+
+
+Expand source code
+
+def submod2(someString: str = 'submod2 string') -> None:
+ """submod2 test function
+
+ Parameters
+ ----------
+ someString : str, optional
+ a random string to show it's working
+
+ Returns
+ -------
+ None
+ """
+
+ print(someString)
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/submod3/index.html b/documentation-test/html/documentation_test/submod3/index.html
new file mode 100644
index 0000000..62796c9
--- /dev/null
+++ b/documentation-test/html/documentation_test/submod3/index.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+documentation_test.submod3 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/html/documentation_test/submod3/submod3.html b/documentation-test/html/documentation_test/submod3/submod3.html
new file mode 100644
index 0000000..1a85b42
--- /dev/null
+++ b/documentation-test/html/documentation_test/submod3/submod3.html
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+documentation_test.submod3.submod3 API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+Module documentation_test.submod3.submod3
+
+
+
+
+Expand source code
+
+class testClass(object):
+
+ """Summary of class
+
+ Attributes
+ ----------
+ arg : str
+ a string to print
+ """
+
+ def __init__(self, arg: str):
+ """Summary of init
+
+ Parameters
+ ----------
+ arg : str, optional
+ a string to print
+ """
+ super(testClass, self).__init__()
+ self.arg = arg
+
+ @classmethod
+ def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+ def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+
+
+
+
+
+
+
+
+class testClass
+( arg: str)
+
+
+Summary of class
+Attributes
+
+arg : str
+a string to print
+
+Summary of init
+Parameters
+
+arg : str, optional
+a string to print
+
+
+
+Expand source code
+
+class testClass(object):
+
+ """Summary of class
+
+ Attributes
+ ----------
+ arg : str
+ a string to print
+ """
+
+ def __init__(self, arg: str):
+ """Summary of init
+
+ Parameters
+ ----------
+ arg : str, optional
+ a string to print
+ """
+ super(testClass, self).__init__()
+ self.arg = arg
+
+ @classmethod
+ def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+ def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+Static methods
+
+
+def createString (aString: str)
+
+
+create a string
+Parameters
+
+aString : str
+a string to print
+
+
+
+Expand source code
+
+@classmethod
+def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+
+
+Methods
+
+
+def printString (self)
+
+
+
+
+
+Expand source code
+
+def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documentation-test/poetry.lock b/documentation-test/poetry.lock
new file mode 100644
index 0000000..c84c1f8
--- /dev/null
+++ b/documentation-test/poetry.lock
@@ -0,0 +1,134 @@
+[[package]]
+category = "dev"
+description = "Atomic file writes."
+name = "atomicwrites"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.3.0"
+
+[[package]]
+category = "dev"
+description = "Classes Without Boilerplate"
+name = "attrs"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "19.3.0"
+
+[[package]]
+category = "dev"
+description = "Cross-platform colored terminal text."
+marker = "sys_platform == \"win32\""
+name = "colorama"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.4.1"
+
+[[package]]
+category = "dev"
+description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
+name = "mako"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.1.0"
+
+[package.dependencies]
+MarkupSafe = ">=0.9.2"
+
+[[package]]
+category = "dev"
+description = "Python implementation of Markdown."
+name = "markdown"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
+version = "3.1.1"
+
+[package.dependencies]
+setuptools = ">=36"
+
+[[package]]
+category = "dev"
+description = "Safely add untrusted strings to HTML/XML markup."
+name = "markupsafe"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
+version = "1.1.1"
+
+[[package]]
+category = "dev"
+description = "More routines for operating on iterables, beyond itertools"
+name = "more-itertools"
+optional = false
+python-versions = ">=3.4"
+version = "7.2.0"
+
+[[package]]
+category = "dev"
+description = "Auto-generate API documentation for Python projects."
+name = "pdoc3"
+optional = false
+python-versions = ">= 3.5"
+version = "0.7.2"
+
+[package.dependencies]
+mako = "*"
+markdown = ">=3.0"
+
+[[package]]
+category = "dev"
+description = "plugin and hook calling mechanisms for python"
+name = "pluggy"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.13.0"
+
+[[package]]
+category = "dev"
+description = "library with cross-python path, ini-parsing, io, code, log facilities"
+name = "py"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.8.0"
+
+[[package]]
+category = "dev"
+description = "pytest: simple powerful testing with Python"
+name = "pytest"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "3.10.1"
+
+[package.dependencies]
+atomicwrites = ">=1.0"
+attrs = ">=17.4.0"
+colorama = "*"
+more-itertools = ">=4.0.0"
+pluggy = ">=0.7"
+py = ">=1.5.0"
+setuptools = "*"
+six = ">=1.10.0"
+
+[[package]]
+category = "dev"
+description = "Python 2 and 3 compatibility utilities"
+name = "six"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*"
+version = "1.13.0"
+
+[metadata]
+content-hash = "d076842203a2af0e8bf5a5951864e82e229eb62c49fd974814c9dedd00b48ba2"
+python-versions = "^3.8"
+
+[metadata.hashes]
+atomicwrites = ["03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", "75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"]
+attrs = ["08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"]
+colorama = ["05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d", "f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"]
+mako = ["a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b"]
+markdown = ["2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a", "56a46ac655704b91e5b7e6326ce43d5ef72411376588afa1dd90e881b83c7e8c"]
+markupsafe = ["00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", "09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", "09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", "1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", "24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", "43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", "46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", "500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", "535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", "62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", "6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", "717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", "79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", "7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", "88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", "8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", "98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", "9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", "9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", "ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", "b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", "b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", "b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", "ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", "c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", "cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", "e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"]
+more-itertools = ["409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832", "92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4"]
+pdoc3 = ["df43a7f1a139a5a61e778f424f167719acc33ed71bf13b6c34c7ebd139866eb7"]
+pluggy = ["0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6", "fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34"]
+py = ["64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa", "dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"]
+pytest = ["3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec", "e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"]
+six = ["1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd", "30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"]
diff --git a/documentation-test/pyproject.toml b/documentation-test/pyproject.toml
new file mode 100644
index 0000000..d355b01
--- /dev/null
+++ b/documentation-test/pyproject.toml
@@ -0,0 +1,16 @@
+[tool.poetry]
+name = "documentation-test"
+version = "0.2.0"
+description = ""
+authors = ["Your Name "]
+
+[tool.poetry.dependencies]
+python = "^3.8"
+
+[tool.poetry.dev-dependencies]
+pytest = "^3.0"
+pdoc3 = "^0.7.2"
+
+[build-system]
+requires = ["poetry>=0.12"]
+build-backend = "poetry.masonry.api"
diff --git a/documentation-test/src/documentation_test/__init__.py b/documentation-test/src/documentation_test/__init__.py
new file mode 100644
index 0000000..cd4d060
--- /dev/null
+++ b/documentation-test/src/documentation_test/__init__.py
@@ -0,0 +1,5 @@
+from documentation_test.documentation_test import *
+
+__version__ = '0.1.0'
+
+print('documentation_test __init__')
diff --git a/documentation-test/src/documentation_test/__pycache__/__init__.cpython-38.pyc b/documentation-test/src/documentation_test/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..6310cb1
Binary files /dev/null and b/documentation-test/src/documentation_test/__pycache__/__init__.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/__pycache__/documentation_test.cpython-38.pyc b/documentation-test/src/documentation_test/__pycache__/documentation_test.cpython-38.pyc
new file mode 100644
index 0000000..14da819
Binary files /dev/null and b/documentation-test/src/documentation_test/__pycache__/documentation_test.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/documentation_test.py b/documentation-test/src/documentation_test/documentation_test.py
new file mode 100644
index 0000000..532806f
--- /dev/null
+++ b/documentation-test/src/documentation_test/documentation_test.py
@@ -0,0 +1,68 @@
+import documentation_test.submod1.submod1 as submod1
+import documentation_test.submod2.submod2 as submod2
+from documentation_test.lib.lib import export
+
+__all__ = []
+
+
+@export
+class testClass(object):
+
+ """Summary of class
+
+ Attributes
+ ----------
+ arg : str
+ a string to print
+ """
+
+ def __init__(self, arg: str):
+ """Summary of init
+
+ Parameters
+ ----------
+ arg : str, optional
+ a string to print
+ """
+ super(testClass, self).__init__()
+ self.arg = arg
+
+ @classmethod
+ def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+ def printString(self):
+ """Print a string
+ """
+ print(self.arg)
+
+
+@export
+def testFunction(anything: str = 'test') -> None:
+ """test function for a demo import of whole module
+
+ Parameters
+ ----------
+ anything : str, optional
+ a test string
+
+ Returns
+ -------
+ None
+ """
+ print(anything)
+
+
+submod1.submod1('string from submod1 in base')
+
+submod2.submod2('string from submod2 in base')
+
+
+print(f'{__all__=}')
diff --git a/documentation-test/src/documentation_test/lib/__pycache__/lib.cpython-38.pyc b/documentation-test/src/documentation_test/lib/__pycache__/lib.cpython-38.pyc
new file mode 100644
index 0000000..8c05621
Binary files /dev/null and b/documentation-test/src/documentation_test/lib/__pycache__/lib.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/lib/lib.py b/documentation-test/src/documentation_test/lib/lib.py
new file mode 100644
index 0000000..5071333
--- /dev/null
+++ b/documentation-test/src/documentation_test/lib/lib.py
@@ -0,0 +1,10 @@
+import sys
+
+
+def export(fn):
+ mod = sys.modules[fn.__module__]
+ if hasattr(mod, '__all__'):
+ mod.__all__.append(fn.__name__)
+ else:
+ mod.__all__ = [fn.__name__]
+ return fn
diff --git a/documentation-test/src/documentation_test/submod1/__init__.py b/documentation-test/src/documentation_test/submod1/__init__.py
new file mode 100644
index 0000000..cadae23
--- /dev/null
+++ b/documentation-test/src/documentation_test/submod1/__init__.py
@@ -0,0 +1 @@
+print('submod1.__init__')
diff --git a/documentation-test/src/documentation_test/submod1/__pycache__/__init__.cpython-38.pyc b/documentation-test/src/documentation_test/submod1/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..192ef27
Binary files /dev/null and b/documentation-test/src/documentation_test/submod1/__pycache__/__init__.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/submod1/__pycache__/submod1.cpython-38.pyc b/documentation-test/src/documentation_test/submod1/__pycache__/submod1.cpython-38.pyc
new file mode 100644
index 0000000..112ff50
Binary files /dev/null and b/documentation-test/src/documentation_test/submod1/__pycache__/submod1.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/submod1/submod1.py b/documentation-test/src/documentation_test/submod1/submod1.py
new file mode 100644
index 0000000..4056cf2
--- /dev/null
+++ b/documentation-test/src/documentation_test/submod1/submod1.py
@@ -0,0 +1,13 @@
+print('imported submod1')
+
+
+def submod1(myStr: str) -> None:
+ """test module for submod1
+
+ Parameters
+ ----------
+ myStr : str
+ a test string
+ """
+ print('submod1')
+ print(myStr)
diff --git a/documentation-test/src/documentation_test/submod2/__init__.py b/documentation-test/src/documentation_test/submod2/__init__.py
new file mode 100644
index 0000000..513c79d
--- /dev/null
+++ b/documentation-test/src/documentation_test/submod2/__init__.py
@@ -0,0 +1 @@
+print('submod2.__init__')
diff --git a/documentation-test/src/documentation_test/submod2/__pycache__/__init__.cpython-38.pyc b/documentation-test/src/documentation_test/submod2/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..50d03c7
Binary files /dev/null and b/documentation-test/src/documentation_test/submod2/__pycache__/__init__.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/submod2/__pycache__/submod2.cpython-38.pyc b/documentation-test/src/documentation_test/submod2/__pycache__/submod2.cpython-38.pyc
new file mode 100644
index 0000000..375dfa9
Binary files /dev/null and b/documentation-test/src/documentation_test/submod2/__pycache__/submod2.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/submod2/submod2.py b/documentation-test/src/documentation_test/submod2/submod2.py
new file mode 100644
index 0000000..cedf09c
--- /dev/null
+++ b/documentation-test/src/documentation_test/submod2/submod2.py
@@ -0,0 +1,17 @@
+print('imported submod2')
+
+
+def submod2(someString: str = 'submod2 string') -> None:
+ """submod2 test function
+
+ Parameters
+ ----------
+ someString : str, optional
+ a random string to show it's working
+
+ Returns
+ -------
+ None
+ """
+
+ print(someString)
diff --git a/documentation-test/src/documentation_test/submod3/__init__.py b/documentation-test/src/documentation_test/submod3/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/documentation-test/src/documentation_test/submod3/__pycache__/__init__.cpython-38.pyc b/documentation-test/src/documentation_test/submod3/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..80ec08f
Binary files /dev/null and b/documentation-test/src/documentation_test/submod3/__pycache__/__init__.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/submod3/__pycache__/submod3.cpython-38.pyc b/documentation-test/src/documentation_test/submod3/__pycache__/submod3.cpython-38.pyc
new file mode 100644
index 0000000..bb8c9e9
Binary files /dev/null and b/documentation-test/src/documentation_test/submod3/__pycache__/submod3.cpython-38.pyc differ
diff --git a/documentation-test/src/documentation_test/submod3/submod3.py b/documentation-test/src/documentation_test/submod3/submod3.py
new file mode 100644
index 0000000..6377761
--- /dev/null
+++ b/documentation-test/src/documentation_test/submod3/submod3.py
@@ -0,0 +1,42 @@
+from documentation_test.lib.lib import export
+
+__all__ = []
+
+
+@export
+class testClass(object):
+
+ """Summary of class
+
+ Attributes
+ ----------
+ arg : str
+ a string to print
+ """
+
+ def __init__(self, arg: str):
+ """Summary of init
+
+ Parameters
+ ----------
+ arg : str, optional
+ a string to print
+ """
+ super(testClass, self).__init__()
+ self.arg = arg
+
+ @classmethod
+ def createString(cls, aString: str):
+ """create a string
+
+ Parameters
+ ----------
+ aString : str
+ a string to print
+ """
+ return cls(arg=aString)
+
+ def printString(self):
+ """Print a string
+ """
+ print(self.arg)
diff --git a/documentation-test/tests/__init__.py b/documentation-test/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/documentation-test/tests/demo.py b/documentation-test/tests/demo.py
new file mode 100644
index 0000000..f2c5e7a
--- /dev/null
+++ b/documentation-test/tests/demo.py
@@ -0,0 +1,17 @@
+import documentation_test
+import documentation_test.submod1.submod1 as submod1
+import documentation_test.submod3.submod3 as submod3
+
+print(dir(documentation_test))
+
+submod1.submod1('submod1 from demo')
+
+# documentation_test.submod2.submod2('s')
+
+documentation_test.testFunction('test function from demo')
+
+documentation_test.submod2.submod2.submod2('demo submod2')
+
+inst = submod3.testClass.createString('submod3 from demo')
+
+inst.printString()
diff --git a/documentation-test/tests/test_documentation_test.py b/documentation-test/tests/test_documentation_test.py
new file mode 100644
index 0000000..55450b9
--- /dev/null
+++ b/documentation-test/tests/test_documentation_test.py
@@ -0,0 +1,5 @@
+from documentation_test import __version__
+
+
+def test_version():
+ assert __version__ == '0.1.0'
diff --git a/gui-test/demo.py b/gui-test/demo.py
new file mode 100644
index 0000000..aed3132
--- /dev/null
+++ b/gui-test/demo.py
@@ -0,0 +1,23 @@
+import PySimpleGUI as sg
+import sys
+
+print(sys.version)
+
+sg.change_look_and_feel('DarkAmber') # Add a little color
+# All the stuff inside your window.
+layout = [
+ [sg.Text('Some text on Row 1')],
+ [sg.Text('Enter something on Row 2'), sg.InputText()],
+ [sg.Button('Ok'), sg.Button('Cancel')],
+]
+
+# Create the Window
+window = sg.Window('Window Title', layout)
+# Event Loop to process "events" and get the "values" of the inputs
+while True:
+ event, values = window.read()
+ if event in (None, 'Cancel'): # if user closes window or clicks cancel
+ break
+ print('You entered ', values[0])
+
+window.close()
diff --git a/gui-test/popup.py b/gui-test/popup.py
new file mode 100644
index 0000000..e19d3eb
--- /dev/null
+++ b/gui-test/popup.py
@@ -0,0 +1,3 @@
+import PySimpleGUIQt as sg
+
+sg.Popup('Hello From PySimpleGUI!', 'This is the shortest GUI program ever!')
diff --git a/gui-test/popup2.py b/gui-test/popup2.py
new file mode 100644
index 0000000..041c061
--- /dev/null
+++ b/gui-test/popup2.py
@@ -0,0 +1,20 @@
+import PySimpleGUIQt as sg
+
+myVar = 1
+
+
+def main(var: str, *args, **kwargs) -> list:
+
+ event, values = sg.Window(
+ 'Get filename example',
+ [
+ [sg.Text('Filename')],
+ [sg.Input(), sg.FileBrowse()],
+ [sg.OK(), sg.Cancel()],
+ ],
+ ).Read()
+ return list
+
+
+# if __name__ == '__main__':
+main()
diff --git a/test-env/README.rst b/test-env/README.rst
new file mode 100644
index 0000000..e69de29
diff --git a/test-env/dist/test-env-0.1.0.tar.gz b/test-env/dist/test-env-0.1.0.tar.gz
new file mode 100644
index 0000000..2c0762e
Binary files /dev/null and b/test-env/dist/test-env-0.1.0.tar.gz differ
diff --git a/test-env/dist/test_env-0.1.0-py3-none-any.whl b/test-env/dist/test_env-0.1.0-py3-none-any.whl
new file mode 100644
index 0000000..bd0c79b
Binary files /dev/null and b/test-env/dist/test_env-0.1.0-py3-none-any.whl differ
diff --git a/test-env/poetry.lock b/test-env/poetry.lock
new file mode 100644
index 0000000..dc9fccc
--- /dev/null
+++ b/test-env/poetry.lock
@@ -0,0 +1,137 @@
+[[package]]
+category = "main"
+description = "Atomic file writes."
+name = "atomicwrites"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.3.0"
+
+[[package]]
+category = "main"
+description = "Classes Without Boilerplate"
+name = "attrs"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "19.3.0"
+
+[[package]]
+category = "main"
+description = "Cross-platform colored terminal text."
+marker = "sys_platform == \"win32\""
+name = "colorama"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.4.1"
+
+[[package]]
+category = "main"
+description = "More routines for operating on iterables, beyond itertools"
+name = "more-itertools"
+optional = false
+python-versions = ">=3.4"
+version = "7.2.0"
+
+[[package]]
+category = "main"
+description = "NumPy is the fundamental package for array computing with Python."
+name = "numpy"
+optional = false
+python-versions = ">=3.5"
+version = "1.17.4"
+
+[[package]]
+category = "main"
+description = "Core utilities for Python packages"
+name = "packaging"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "19.2"
+
+[package.dependencies]
+pyparsing = ">=2.0.2"
+six = "*"
+
+[[package]]
+category = "dev"
+description = "Display source code in Sublime Text 2 while debugging with pdb."
+name = "pdbsublimetextsupport"
+optional = false
+python-versions = "*"
+version = "0.2"
+
+[[package]]
+category = "main"
+description = "plugin and hook calling mechanisms for python"
+name = "pluggy"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "0.13.0"
+
+[[package]]
+category = "main"
+description = "library with cross-python path, ini-parsing, io, code, log facilities"
+name = "py"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.8.0"
+
+[[package]]
+category = "main"
+description = "Python parsing module"
+name = "pyparsing"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+version = "2.4.5"
+
+[[package]]
+category = "main"
+description = "pytest: simple powerful testing with Python"
+name = "pytest"
+optional = false
+python-versions = ">=3.5"
+version = "5.2.4"
+
+[package.dependencies]
+atomicwrites = ">=1.0"
+attrs = ">=17.4.0"
+colorama = "*"
+more-itertools = ">=4.0.0"
+packaging = "*"
+pluggy = ">=0.12,<1.0"
+py = ">=1.5.0"
+wcwidth = "*"
+
+[[package]]
+category = "main"
+description = "Python 2 and 3 compatibility utilities"
+name = "six"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*"
+version = "1.13.0"
+
+[[package]]
+category = "main"
+description = "Measures number of Terminal column cells of wide-character codes"
+name = "wcwidth"
+optional = false
+python-versions = "*"
+version = "0.1.7"
+
+[metadata]
+content-hash = "60c975933e2116ddeb037fd648696be98a96e198798e29a2e32e25b1b754901c"
+python-versions = "^3.8"
+
+[metadata.hashes]
+atomicwrites = ["03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", "75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"]
+attrs = ["08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"]
+colorama = ["05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d", "f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"]
+more-itertools = ["409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832", "92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4"]
+numpy = ["0a7a1dd123aecc9f0076934288ceed7fd9a81ba3919f11a855a7887cbe82a02f", "0c0763787133dfeec19904c22c7e358b231c87ba3206b211652f8cbe1241deb6", "3d52298d0be333583739f1aec9026f3b09fdfe3ddf7c7028cb16d9d2af1cca7e", "43bb4b70585f1c2d153e45323a886839f98af8bfa810f7014b20be714c37c447", "475963c5b9e116c38ad7347e154e5651d05a2286d86455671f5b1eebba5feb76", "64874913367f18eb3013b16123c9fed113962e75d809fca5b78ebfbb73ed93ba", "683828e50c339fc9e68720396f2de14253992c495fdddef77a1e17de55f1decc", "6ca4000c4a6f95a78c33c7dadbb9495c10880be9c89316aa536eac359ab820ae", "75fd817b7061f6378e4659dd792c84c0b60533e867f83e0d1e52d5d8e53df88c", "7d81d784bdbed30137aca242ab307f3e65c8d93f4c7b7d8f322110b2e90177f9", "8d0af8d3664f142414fd5b15cabfd3b6cc3ef242a3c7a7493257025be5a6955f", "9679831005fb16c6df3dd35d17aa31dc0d4d7573d84f0b44cc481490a65c7725", "a8f67ebfae9f575d85fa859b54d3bdecaeece74e3274b0b5c5f804d7ca789fe1", "acbf5c52db4adb366c064d0b7c7899e3e778d89db585feadd23b06b587d64761", "ada4805ed51f5bcaa3a06d3dd94939351869c095e30a2b54264f5a5004b52170", "c7354e8f0eca5c110b7e978034cd86ed98a7a5ffcf69ca97535445a595e07b8e", "e2e9d8c87120ba2c591f60e32736b82b67f72c37ba88a4c23c81b5b8fa49c018", "e467c57121fe1b78a8f68dd9255fbb3bb3f4f7547c6b9e109f31d14569f490c3", "ede47b98de79565fcd7f2decb475e2dcc85ee4097743e551fe26cfc7eb3ff143", "f58913e9227400f1395c7b800503ebfdb0772f1c33ff8cb4d6451c06cabdf316", "fe39f5fd4103ec4ca3cb8600b19216cd1ff316b4990f4c0b6057ad982c0a34d5"]
+packaging = ["28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47", "d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108"]
+pdbsublimetextsupport = ["52d159240ca3bfc95df5d87969a7d312e08eb62bf080cc6d36a7047d23352d73"]
+pluggy = ["0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6", "fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34"]
+py = ["64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa", "dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"]
+pyparsing = ["20f995ecd72f2a1f4bf6b072b63b22e2eb457836601e76d6e5dfcd75436acc1f", "4ca62001be367f01bd3e92ecbb79070272a9d4964dce6a48a82ff0b8bc7e683a"]
+pytest = ["8e256fe71eb74e14a4d20a5987bb5e1488f0511ee800680aaedc62b9358714e8", "ff0090819f669aaa0284d0f4aad1a6d9d67a6efdc6dd4eb4ac56b704f890a0d6"]
+six = ["1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd", "30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"]
+wcwidth = ["3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e", "f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c"]
diff --git a/test-env/pyproject.toml b/test-env/pyproject.toml
new file mode 100644
index 0000000..8a74a3e
--- /dev/null
+++ b/test-env/pyproject.toml
@@ -0,0 +1,17 @@
+[tool.poetry]
+name = "test-env"
+version = "0.1.0"
+description = ""
+authors = ["Your Name "]
+
+[tool.poetry.dependencies]
+python = "^3.8"
+numpy = "^1.17"
+pytest = "^5.2"
+
+[tool.poetry.dev-dependencies]
+PdbSublimeTextSupport = "^0.2.0"
+
+[build-system]
+requires = ["poetry>=0.12"]
+build-backend = "poetry.masonry.api"
diff --git a/test-env/test_env.egg-info/PKG-INFO b/test-env/test_env.egg-info/PKG-INFO
new file mode 100644
index 0000000..9f677bd
--- /dev/null
+++ b/test-env/test_env.egg-info/PKG-INFO
@@ -0,0 +1,11 @@
+Metadata-Version: 1.2
+Name: test-env
+Version: 0.1.0
+Summary: UNKNOWN
+Home-page: UNKNOWN
+Author: Your Name
+Author-email: you@example.com
+License: UNKNOWN
+Description: UNKNOWN
+Platform: UNKNOWN
+Requires-Python: >=3.8,<4.0
diff --git a/test-env/test_env.egg-info/SOURCES.txt b/test-env/test_env.egg-info/SOURCES.txt
new file mode 100644
index 0000000..b0264e9
--- /dev/null
+++ b/test-env/test_env.egg-info/SOURCES.txt
@@ -0,0 +1,7 @@
+README.rst
+setup.py
+test_env/__init__.py
+test_env.egg-info/PKG-INFO
+test_env.egg-info/SOURCES.txt
+test_env.egg-info/dependency_links.txt
+test_env.egg-info/top_level.txt
\ No newline at end of file
diff --git a/test-env/test_env.egg-info/dependency_links.txt b/test-env/test_env.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test-env/test_env.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/test-env/test_env.egg-info/top_level.txt b/test-env/test_env.egg-info/top_level.txt
new file mode 100644
index 0000000..52629c6
--- /dev/null
+++ b/test-env/test_env.egg-info/top_level.txt
@@ -0,0 +1 @@
+test_env
diff --git a/test-env/test_env/__init__.py b/test-env/test_env/__init__.py
new file mode 100644
index 0000000..b794fd4
--- /dev/null
+++ b/test-env/test_env/__init__.py
@@ -0,0 +1 @@
+__version__ = '0.1.0'
diff --git a/test-env/test_env/__pycache__/__init__.cpython-38.pyc b/test-env/test_env/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..1c2ec9d
Binary files /dev/null and b/test-env/test_env/__pycache__/__init__.cpython-38.pyc differ
diff --git a/test-env/tests/__init__.py b/test-env/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/test-env/tests/test_test_env.py b/test-env/tests/test_test_env.py
new file mode 100644
index 0000000..6594859
--- /dev/null
+++ b/test-env/tests/test_test_env.py
@@ -0,0 +1,5 @@
+from test_env import __version__
+
+
+def test_version():
+ assert __version__ == '0.1.0'
diff --git a/tmp/jsonTest.py b/tmp/jsonTest.py
new file mode 100644
index 0000000..729fd13
--- /dev/null
+++ b/tmp/jsonTest.py
@@ -0,0 +1,3 @@
+import json
+
+print(type(json))
diff --git a/tmp/markdown.md b/tmp/markdown.md
new file mode 100644
index 0000000..77a6549
--- /dev/null
+++ b/tmp/markdown.md
@@ -0,0 +1,3 @@
+| Command | Description |
+|:---------------|:-------------------|
+| `bat -r 1:10 ` | show between lines |
diff --git a/tmp/python-debugging.py b/tmp/python-debugging.py
new file mode 100644
index 0000000..445ac86
--- /dev/null
+++ b/tmp/python-debugging.py
@@ -0,0 +1,5 @@
+import sys
+
+version = sys.version
+
+print(version)