aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2022-04-27 19:06:45 +0300
committerFrederick Muriuki Muriithi2022-04-27 19:14:37 +0300
commitaadd9aa5dd4c552b573828ddac581a8b7064b0e2 (patch)
treefbf17e017af4f736ec5ea797cd777396768decfe
parent903af1c0b1f2cc695ea4e0c31438f9205571d15d (diff)
downloadgn-uploader-aadd9aa5dd4c552b573828ddac581a8b7064b0e2.tar.gz
Enable managing app via setup.py
While the application is developed with GNU Guix, the end user might not be using it, and therefore, this commit provides a way for the user to install the application with the usual python package management systems.
-rw-r--r--.gitignore6
-rw-r--r--MANIFEST.in3
-rw-r--r--README.org12
-rw-r--r--etc/strains.csv (renamed from strains.csv)0
-rw-r--r--mypy.ini10
-rw-r--r--pyproject.toml3
-rw-r--r--scripts/__init__.py0
-rw-r--r--scripts/qc.py (renamed from qc.py)4
-rw-r--r--setup.cfg21
-rw-r--r--setup.py3
10 files changed, 59 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 7135ef6..91958fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,8 @@
/**/*~
/**/*.pyc
/.hypothesis
-/instance \ No newline at end of file
+/instance
+/build
+/dist
+/bdist
+/*.egg-info \ No newline at end of file
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..65f3dd8
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,3 @@
+include README.org
+include etc/*
+exclude etc/*~ \ No newline at end of file
diff --git a/README.org b/README.org
index 53ac63c..ecf7815 100644
--- a/README.org
+++ b/README.org
@@ -58,6 +58,18 @@ To check for correct type usage in the application, run:
*** Command-Line Version
+Clone this repository
+#+BEGIN_SRC shell
+ git clone http://git.genenetwork.org/fredmanglis/gnqc_py.git
+#+END_SRC
+then install the application
+#+BEGIN_SRC shell
+ $ python3 -m venv .venv
+ $ source .venv/bin/activate
+ (.venv) $ pip install .
+#+END_SRC
+
+
To run qc against a file, the syntax is:
#+BEGIN_SRC shell
python3 -m qc [--strainsfile <strainsfile-path>] [--verbose] <filetype> <filepath>
diff --git a/strains.csv b/etc/strains.csv
index 50ab6c1..50ab6c1 100644
--- a/strains.csv
+++ b/etc/strains.csv
diff --git a/mypy.ini b/mypy.ini
new file mode 100644
index 0000000..ba70688
--- /dev/null
+++ b/mypy.ini
@@ -0,0 +1,10 @@
+[mypy]
+
+[mypy-flask.*]
+ignore_missing_imports = True
+
+[mypy-pytest.*]
+ignore_missing_imports = True
+
+[mypy-hypothesis.*]
+ignore_missing_imports = True \ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..087fa09
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,3 @@
+[build-system]
+requires=["setuptools"]
+build-backend = "setuptools.build_meta" \ No newline at end of file
diff --git a/scripts/__init__.py b/scripts/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scripts/__init__.py
diff --git a/qc.py b/scripts/qc.py
index fee74cb..09758cb 100644
--- a/qc.py
+++ b/scripts/qc.py
@@ -34,7 +34,7 @@ def cli_argument_parser():
"If an absolute path is not provided, then the file will be relative to"
f"\t'{os.getcwd()}'"))
default_strains_file = os.path.join(
- os.path.dirname(__file__), "strains.csv")
+ os.path.dirname(os.path.dirname(__file__)), "etc/strains.csv")
parser.add_argument(
"-s", "--strainsfile",
help=(
@@ -75,7 +75,7 @@ def main():
return 1
if not os.path.exists(args.strainsfile):
- print("The file '{args.strainsfile}' does not exist.", file=sys.stderr)
+ print(f"The file '{args.strainsfile}' does not exist.", file=sys.stderr)
return 2
if not is_file_mime(args.filepath, "text/tab-separated-values"):
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..72baf7c
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,21 @@
+[metadata]
+name = qc
+version = 0.0.1
+author = Frederick M. Muriithi
+description = Quality control app for average and standard-error files
+url = http://git.genenetwork.org/fredmanglis/gnqc_py
+
+[options]
+packages =
+ tests
+ scripts
+ quality_control
+install_requires =
+ rq
+ python-magic
+exclude = tests*
+include_package_data = True
+
+[options.entry_points]
+console_scripts =
+ qc = scripts.qc:main \ No newline at end of file
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..6068493
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,3 @@
+from setuptools import setup
+
+setup()