Repository: ExaWorks/psij-python (language: python)

Issue:
Installation with pip
If I do:
```
git clone git@github.com:ExaWorks/psi-j-python.git
virtualenv -p python3 ./.virtualenv
source .virtualenv/bin/activate
pip install -r requirements.txt
pip install -e .
```

And then try to run one of the example files in `test`, I get:
```
(126) herbein1 ~/Repositories/exaworks/psi-j-python/tests [.virtualenv] (main ?)
❯ python ./test_doc_examples.py                                                                                                                                                              17:08:01 ()
Traceback (most recent call last):
  File "/Users/herbein1/Repositories/exaworks/psi-j-python/tests/./test_doc_examples.py", line 1, in <module>
    import psi.j
ModuleNotFoundError: No module named 'psi'
```

Looking at the virtualenv, it seems the package was installed as `jpsi-python`:
```
❯ find ./.virtualenv -name "*psi*"                                                                                                                                                           17:08:37 ()
./.virtualenv/lib/python3.9/site-packages/jpsi-python.egg-link
```

I don't totally know my way around the packaging of python, so I'll defer to others, but I think the issue here is in `setup.py` which has the name of the package as `jpsi-python`.   Not sure if we want to tweak the `setup.py` to have a different package name or tweak the imports.


Discussion / hints:
True, true. I had it initially as "jpsi-python" and, after the change to "psi-j-python" I forgot to update the installation file.

Fix patch:
diff --git a/.flake8 b/.flake8
index 40249449..5de163c2 100644
--- a/.flake8
+++ b/.flake8
@@ -29,3 +29,9 @@ max-line-length = 100
 
 
 ignore = B902, D401, D100
+
+# D103 - Missing docstring in public function
+#
+# Ignore docstrings requirement in tests
+
+per-file-ignores = tests/*:D103
diff --git a/.gitignore b/.gitignore
index 0ffe11cc..e02bb435 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ docs/.generated/
 
 src/test.py
 
+psi_j_python.egg-info/
diff --git a/Makefile b/Makefile
index 5a276ce9..c6307009 100644
--- a/Makefile
+++ b/Makefile
@@ -14,9 +14,10 @@ typecheck:
 .PHONY: stylecheck
 stylecheck:
 	flake8 src
+	flake8 tests
 
-.PHONY: check
-check: typecheck stylecheck
+.PHONY: checks
+checks: typecheck stylecheck
 
 
 .PHONY: genautodocs
diff --git a/setup.py b/setup.py
index 014fc5b4..59d3cea6 100644
--- a/setup.py
+++ b/setup.py
@@ -1,9 +1,9 @@
 from setuptools import setup, find_packages
 
-if __name__ == "__main__":
+if __name__ == '__main__':
     setup(
-        name="jpsi-python",
-        version="0.1",
+        name='psi-j-python',
+        version='0.1',
 
         description='''This is an implementation of the J/PSI (Portable Submission Interface for Jobs) 
         specification.''',
@@ -11,20 +11,20 @@
         author='The ExaWorks Team',
         author_email='hategan@mcs.anl.gov',
 
-        url='https://github.com/exaworks/jpsi-python',
+        url='https://github.com/exaworks/psi-j-python',
 
         classifiers=(
-            "Programming Language :: Python :: 3",
-            "License :: OSI Approved :: MIT License",
+            'Programming Language :: Python :: 3',
+            'License :: OSI Approved :: MIT License',
         ),
 
 
-        packages={"jpsi-python": "src"},
-        package_dir={"jpsi-python": "src"},
+        packages=setuptools.find_packages(where='src'),
+        package_dir={'': 'src'},
 
         package_data={
             '': ['README.md', 'LICENSE'],
-            'jpsi-python': ['config.yaml.sample']
+            'psi-j-python': ['*.sh']
         },
 
 
@@ -35,4 +35,5 @@
 
         install_requires=[
         ],
+        python_requires='>=3.6',
     )
\ No newline at end of file


Test patch:
diff --git a/tests/run_local_job.py b/tests/run_local_job.py
new file mode 100644
index 00000000..677c53c3
--- /dev/null
+++ b/tests/run_local_job.py
@@ -0,0 +1,12 @@
+# This is meant as a simple test file to check if psi/j was installed successfully
+
+from psi.j import Job, JobExecutor, JobSpec
+
+
+if __name__ == '__main__':
+    job = Job(JobSpec(executable='/bin/date'))
+    exec = JobExecutor.get_instance('local')
+    exec.submit(job)
+    print('Job submitted')
+    status = job.wait()
+    print('Job done: {}'.format(status))