diff --git a/.gitignore b/.gitignore index d42fcdc7e7..919cdccd05 100644 --- a/.gitignore +++ b/.gitignore @@ -18,10 +18,10 @@ sourmash.egg-info .coverage .pytest_cache .python-version -sourmash/version.py +src/sourmash/version.py *.DS_Store .tox -sourmash/_lowlevel*.py +src/sourmash/_lowlevel*.py .env Pipfile Pipfile.lock diff --git a/MANIFEST.in b/MANIFEST.in index a142c5c73e..1d2b9be999 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,10 +1,4 @@ -include LICENSE Makefile Dockerfile LICENSE Makefile README.md requirements.txt -include index.ipynb -include sourmash VERSION -recursive-include sourmash_lib * -recursive-include sourmash * -recursive-include src *.rs -recursive-include benches *.rs +include LICENSE Makefile README.md requirements.txt include Cargo.toml include include/sourmash.h prune .eggs diff --git a/pyproject.toml b/pyproject.toml index fa69b6136e..f941122703 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [build-system] requires = [ - "setuptools >= 42", - "setuptools_scm[toml] >= 3.4.0, <4", + "setuptools >= 48", + "setuptools_scm[toml] >= 4, <5", "setuptools_scm_git_archive", "milksnake", "wheel >= 0.29.0", @@ -9,8 +9,8 @@ requires = [ build-backend = 'setuptools.build_meta' [tool.setuptools_scm] -write_to = "sourmash/version.py" -git_describe_command = "git describe --dirty --tags --long --match v* --first-parent" +write_to = "src/sourmash/version.py" +git_describe_command = "git describe --dirty --tags --long --match v* --first-parent" [tool.isort] known_third_party = ["deprecation", "hypothesis", "mmh3", "numpy", "pkg_resources", "pytest", "screed", "setuptools", "sourmash_tst_utils"] diff --git a/setup.cfg b/setup.cfg index 5dc5977dda..dbab5d58e5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -29,10 +29,8 @@ project_urls = [options] zip_safe = False -platforms = any packages = find: -#package_dir = -# =src +platforms = any include_package_data = True install_requires = screed>=1.0 @@ -44,15 +42,12 @@ install_requires = cachetools>=4,<5 python_requires = >=3.7 -[options.packages.find] -#where = src -exclude = - tests - benchmarks - [bdist_wheel] universal = 1 +[options.packages.find] +where = src + # for explanation of %(extra)s syntax see: # https://github.com/pypa/setuptools/issues/1260#issuecomment-438187625 # this syntax may change in the future @@ -100,7 +95,7 @@ norecursedirs = .asv .eggs python_files = - sourmash/*.py + src/sourmash/*.py tests/*.py testpaths = tests diff --git a/setup.py b/setup.py index 3ec2f72103..f416ff3336 100644 --- a/setup.py +++ b/setup.py @@ -29,4 +29,5 @@ def build_native(spec): setup( milksnake_tasks=[build_native], + package_dir={"": "src"}, ) diff --git a/sourmash/__init__.py b/src/sourmash/__init__.py similarity index 100% rename from sourmash/__init__.py rename to src/sourmash/__init__.py diff --git a/sourmash/__main__.py b/src/sourmash/__main__.py similarity index 100% rename from sourmash/__main__.py rename to src/sourmash/__main__.py diff --git a/sourmash/cli/.gitignore b/src/sourmash/cli/.gitignore similarity index 100% rename from sourmash/cli/.gitignore rename to src/sourmash/cli/.gitignore diff --git a/sourmash/cli/__init__.py b/src/sourmash/cli/__init__.py similarity index 100% rename from sourmash/cli/__init__.py rename to src/sourmash/cli/__init__.py diff --git a/sourmash/cli/categorize.py b/src/sourmash/cli/categorize.py similarity index 100% rename from sourmash/cli/categorize.py rename to src/sourmash/cli/categorize.py diff --git a/sourmash/cli/compare.py b/src/sourmash/cli/compare.py similarity index 100% rename from sourmash/cli/compare.py rename to src/sourmash/cli/compare.py diff --git a/sourmash/cli/compute.py b/src/sourmash/cli/compute.py similarity index 100% rename from sourmash/cli/compute.py rename to src/sourmash/cli/compute.py diff --git a/sourmash/cli/gather.py b/src/sourmash/cli/gather.py similarity index 100% rename from sourmash/cli/gather.py rename to src/sourmash/cli/gather.py diff --git a/sourmash/cli/import_csv.py b/src/sourmash/cli/import_csv.py similarity index 100% rename from sourmash/cli/import_csv.py rename to src/sourmash/cli/import_csv.py diff --git a/sourmash/cli/index.py b/src/sourmash/cli/index.py similarity index 100% rename from sourmash/cli/index.py rename to src/sourmash/cli/index.py diff --git a/sourmash/cli/info.py b/src/sourmash/cli/info.py similarity index 100% rename from sourmash/cli/info.py rename to src/sourmash/cli/info.py diff --git a/sourmash/cli/lca/__init__.py b/src/sourmash/cli/lca/__init__.py similarity index 100% rename from sourmash/cli/lca/__init__.py rename to src/sourmash/cli/lca/__init__.py diff --git a/sourmash/cli/lca/classify.py b/src/sourmash/cli/lca/classify.py similarity index 100% rename from sourmash/cli/lca/classify.py rename to src/sourmash/cli/lca/classify.py diff --git a/sourmash/cli/lca/compare_csv.py b/src/sourmash/cli/lca/compare_csv.py similarity index 100% rename from sourmash/cli/lca/compare_csv.py rename to src/sourmash/cli/lca/compare_csv.py diff --git a/sourmash/cli/lca/gather.py b/src/sourmash/cli/lca/gather.py similarity index 100% rename from sourmash/cli/lca/gather.py rename to src/sourmash/cli/lca/gather.py diff --git a/sourmash/cli/lca/index.py b/src/sourmash/cli/lca/index.py similarity index 100% rename from sourmash/cli/lca/index.py rename to src/sourmash/cli/lca/index.py diff --git a/sourmash/cli/lca/rankinfo.py b/src/sourmash/cli/lca/rankinfo.py similarity index 100% rename from sourmash/cli/lca/rankinfo.py rename to src/sourmash/cli/lca/rankinfo.py diff --git a/sourmash/cli/lca/summarize.py b/src/sourmash/cli/lca/summarize.py similarity index 100% rename from sourmash/cli/lca/summarize.py rename to src/sourmash/cli/lca/summarize.py diff --git a/sourmash/cli/migrate.py b/src/sourmash/cli/migrate.py similarity index 100% rename from sourmash/cli/migrate.py rename to src/sourmash/cli/migrate.py diff --git a/sourmash/cli/multigather.py b/src/sourmash/cli/multigather.py similarity index 100% rename from sourmash/cli/multigather.py rename to src/sourmash/cli/multigather.py diff --git a/sourmash/cli/plot.py b/src/sourmash/cli/plot.py similarity index 100% rename from sourmash/cli/plot.py rename to src/sourmash/cli/plot.py diff --git a/sourmash/cli/sbt_combine.py b/src/sourmash/cli/sbt_combine.py similarity index 100% rename from sourmash/cli/sbt_combine.py rename to src/sourmash/cli/sbt_combine.py diff --git a/sourmash/cli/search.py b/src/sourmash/cli/search.py similarity index 100% rename from sourmash/cli/search.py rename to src/sourmash/cli/search.py diff --git a/sourmash/cli/sig/__init__.py b/src/sourmash/cli/sig/__init__.py similarity index 100% rename from sourmash/cli/sig/__init__.py rename to src/sourmash/cli/sig/__init__.py diff --git a/sourmash/cli/sig/cat.py b/src/sourmash/cli/sig/cat.py similarity index 100% rename from sourmash/cli/sig/cat.py rename to src/sourmash/cli/sig/cat.py diff --git a/sourmash/cli/sig/describe.py b/src/sourmash/cli/sig/describe.py similarity index 100% rename from sourmash/cli/sig/describe.py rename to src/sourmash/cli/sig/describe.py diff --git a/sourmash/cli/sig/downsample.py b/src/sourmash/cli/sig/downsample.py similarity index 100% rename from sourmash/cli/sig/downsample.py rename to src/sourmash/cli/sig/downsample.py diff --git a/sourmash/cli/sig/export.py b/src/sourmash/cli/sig/export.py similarity index 100% rename from sourmash/cli/sig/export.py rename to src/sourmash/cli/sig/export.py diff --git a/sourmash/cli/sig/extract.py b/src/sourmash/cli/sig/extract.py similarity index 100% rename from sourmash/cli/sig/extract.py rename to src/sourmash/cli/sig/extract.py diff --git a/sourmash/cli/sig/filter.py b/src/sourmash/cli/sig/filter.py similarity index 100% rename from sourmash/cli/sig/filter.py rename to src/sourmash/cli/sig/filter.py diff --git a/sourmash/cli/sig/flatten.py b/src/sourmash/cli/sig/flatten.py similarity index 100% rename from sourmash/cli/sig/flatten.py rename to src/sourmash/cli/sig/flatten.py diff --git a/sourmash/cli/sig/ingest.py b/src/sourmash/cli/sig/ingest.py similarity index 100% rename from sourmash/cli/sig/ingest.py rename to src/sourmash/cli/sig/ingest.py diff --git a/sourmash/cli/sig/intersect.py b/src/sourmash/cli/sig/intersect.py similarity index 100% rename from sourmash/cli/sig/intersect.py rename to src/sourmash/cli/sig/intersect.py diff --git a/sourmash/cli/sig/merge.py b/src/sourmash/cli/sig/merge.py similarity index 100% rename from sourmash/cli/sig/merge.py rename to src/sourmash/cli/sig/merge.py diff --git a/sourmash/cli/sig/overlap.py b/src/sourmash/cli/sig/overlap.py similarity index 100% rename from sourmash/cli/sig/overlap.py rename to src/sourmash/cli/sig/overlap.py diff --git a/sourmash/cli/sig/rename.py b/src/sourmash/cli/sig/rename.py similarity index 100% rename from sourmash/cli/sig/rename.py rename to src/sourmash/cli/sig/rename.py diff --git a/sourmash/cli/sig/split.py b/src/sourmash/cli/sig/split.py similarity index 100% rename from sourmash/cli/sig/split.py rename to src/sourmash/cli/sig/split.py diff --git a/sourmash/cli/sig/subtract.py b/src/sourmash/cli/sig/subtract.py similarity index 100% rename from sourmash/cli/sig/subtract.py rename to src/sourmash/cli/sig/subtract.py diff --git a/sourmash/cli/sketch/__init__.py b/src/sourmash/cli/sketch/__init__.py similarity index 100% rename from sourmash/cli/sketch/__init__.py rename to src/sourmash/cli/sketch/__init__.py diff --git a/sourmash/cli/sketch/dna.py b/src/sourmash/cli/sketch/dna.py similarity index 100% rename from sourmash/cli/sketch/dna.py rename to src/sourmash/cli/sketch/dna.py diff --git a/sourmash/cli/sketch/protein.py b/src/sourmash/cli/sketch/protein.py similarity index 100% rename from sourmash/cli/sketch/protein.py rename to src/sourmash/cli/sketch/protein.py diff --git a/sourmash/cli/sketch/translate.py b/src/sourmash/cli/sketch/translate.py similarity index 100% rename from sourmash/cli/sketch/translate.py rename to src/sourmash/cli/sketch/translate.py diff --git a/sourmash/cli/storage/__init__.py b/src/sourmash/cli/storage/__init__.py similarity index 100% rename from sourmash/cli/storage/__init__.py rename to src/sourmash/cli/storage/__init__.py diff --git a/sourmash/cli/storage/convert.py b/src/sourmash/cli/storage/convert.py similarity index 100% rename from sourmash/cli/storage/convert.py rename to src/sourmash/cli/storage/convert.py diff --git a/sourmash/cli/utils.py b/src/sourmash/cli/utils.py similarity index 100% rename from sourmash/cli/utils.py rename to src/sourmash/cli/utils.py diff --git a/sourmash/cli/watch.py b/src/sourmash/cli/watch.py similarity index 100% rename from sourmash/cli/watch.py rename to src/sourmash/cli/watch.py diff --git a/sourmash/command_compute.py b/src/sourmash/command_compute.py similarity index 100% rename from sourmash/command_compute.py rename to src/sourmash/command_compute.py diff --git a/sourmash/command_sketch.py b/src/sourmash/command_sketch.py similarity index 100% rename from sourmash/command_sketch.py rename to src/sourmash/command_sketch.py diff --git a/sourmash/commands.py b/src/sourmash/commands.py similarity index 100% rename from sourmash/commands.py rename to src/sourmash/commands.py diff --git a/sourmash/compare.py b/src/sourmash/compare.py similarity index 100% rename from sourmash/compare.py rename to src/sourmash/compare.py diff --git a/sourmash/exceptions.py b/src/sourmash/exceptions.py similarity index 100% rename from sourmash/exceptions.py rename to src/sourmash/exceptions.py diff --git a/sourmash/fig.py b/src/sourmash/fig.py similarity index 100% rename from sourmash/fig.py rename to src/sourmash/fig.py diff --git a/sourmash/hll.py b/src/sourmash/hll.py similarity index 100% rename from sourmash/hll.py rename to src/sourmash/hll.py diff --git a/sourmash/index.py b/src/sourmash/index.py similarity index 100% rename from sourmash/index.py rename to src/sourmash/index.py diff --git a/sourmash/lca/__init__.py b/src/sourmash/lca/__init__.py similarity index 100% rename from sourmash/lca/__init__.py rename to src/sourmash/lca/__init__.py diff --git a/sourmash/lca/__main__.py b/src/sourmash/lca/__main__.py similarity index 100% rename from sourmash/lca/__main__.py rename to src/sourmash/lca/__main__.py diff --git a/sourmash/lca/command_classify.py b/src/sourmash/lca/command_classify.py similarity index 100% rename from sourmash/lca/command_classify.py rename to src/sourmash/lca/command_classify.py diff --git a/sourmash/lca/command_compare_csv.py b/src/sourmash/lca/command_compare_csv.py similarity index 100% rename from sourmash/lca/command_compare_csv.py rename to src/sourmash/lca/command_compare_csv.py diff --git a/sourmash/lca/command_gather.py b/src/sourmash/lca/command_gather.py similarity index 100% rename from sourmash/lca/command_gather.py rename to src/sourmash/lca/command_gather.py diff --git a/sourmash/lca/command_index.py b/src/sourmash/lca/command_index.py similarity index 100% rename from sourmash/lca/command_index.py rename to src/sourmash/lca/command_index.py diff --git a/sourmash/lca/command_rankinfo.py b/src/sourmash/lca/command_rankinfo.py similarity index 100% rename from sourmash/lca/command_rankinfo.py rename to src/sourmash/lca/command_rankinfo.py diff --git a/sourmash/lca/command_summarize.py b/src/sourmash/lca/command_summarize.py similarity index 100% rename from sourmash/lca/command_summarize.py rename to src/sourmash/lca/command_summarize.py diff --git a/sourmash/lca/lca_db.py b/src/sourmash/lca/lca_db.py similarity index 100% rename from sourmash/lca/lca_db.py rename to src/sourmash/lca/lca_db.py diff --git a/sourmash/lca/lca_utils.py b/src/sourmash/lca/lca_utils.py similarity index 100% rename from sourmash/lca/lca_utils.py rename to src/sourmash/lca/lca_utils.py diff --git a/sourmash/logging.py b/src/sourmash/logging.py similarity index 100% rename from sourmash/logging.py rename to src/sourmash/logging.py diff --git a/sourmash/minhash.py b/src/sourmash/minhash.py similarity index 100% rename from sourmash/minhash.py rename to src/sourmash/minhash.py diff --git a/sourmash/nodegraph.py b/src/sourmash/nodegraph.py similarity index 100% rename from sourmash/nodegraph.py rename to src/sourmash/nodegraph.py diff --git a/sourmash/np_utils.py b/src/sourmash/np_utils.py similarity index 100% rename from sourmash/np_utils.py rename to src/sourmash/np_utils.py diff --git a/sourmash/sbt.py b/src/sourmash/sbt.py similarity index 100% rename from sourmash/sbt.py rename to src/sourmash/sbt.py diff --git a/sourmash/sbt_storage.py b/src/sourmash/sbt_storage.py similarity index 100% rename from sourmash/sbt_storage.py rename to src/sourmash/sbt_storage.py diff --git a/sourmash/sbtmh.py b/src/sourmash/sbtmh.py similarity index 100% rename from sourmash/sbtmh.py rename to src/sourmash/sbtmh.py diff --git a/sourmash/search.py b/src/sourmash/search.py similarity index 100% rename from sourmash/search.py rename to src/sourmash/search.py diff --git a/sourmash/sig/__init__.py b/src/sourmash/sig/__init__.py similarity index 100% rename from sourmash/sig/__init__.py rename to src/sourmash/sig/__init__.py diff --git a/sourmash/sig/__main__.py b/src/sourmash/sig/__main__.py similarity index 100% rename from sourmash/sig/__main__.py rename to src/sourmash/sig/__main__.py diff --git a/sourmash/signature.py b/src/sourmash/signature.py similarity index 100% rename from sourmash/signature.py rename to src/sourmash/signature.py diff --git a/sourmash/sourmash_args.py b/src/sourmash/sourmash_args.py similarity index 100% rename from sourmash/sourmash_args.py rename to src/sourmash/sourmash_args.py diff --git a/sourmash/utils.py b/src/sourmash/utils.py similarity index 100% rename from sourmash/utils.py rename to src/sourmash/utils.py diff --git a/tests/test_hll.py b/tests/test_hll.py index 19491ceec2..4e4ce365dd 100644 --- a/tests/test_hll.py +++ b/tests/test_hll.py @@ -6,7 +6,7 @@ from sourmash.hll import HLL -from . import sourmash_tst_utils as utils +import sourmash_tst_utils as utils K = 21 # size of kmer ERR_RATE = 0.01 diff --git a/tests/test_sourmash_sketch.py b/tests/test_sourmash_sketch.py index e13ac5db8e..4eca0894ea 100644 --- a/tests/test_sourmash_sketch.py +++ b/tests/test_sourmash_sketch.py @@ -11,7 +11,7 @@ import pytest import screed -from . import sourmash_tst_utils as utils +import sourmash_tst_utils as utils import sourmash from sourmash import MinHash from sourmash.sbt import SBT, Node diff --git a/tox.ini b/tox.ini index 1dcb86030f..9d977a04a0 100644 --- a/tox.ini +++ b/tox.ini @@ -39,11 +39,10 @@ extras = storage changedir = tests commands = pytest \ - --basetemp="{envtmpdir}" \ --cov "{envsitepackagesdir}/sourmash" \ --cov-config "{toxinidir}/tox.ini" \ --junitxml {toxworkdir}/junit.{envname}.xml \ - {posargs} + {posargs:.} [testenv:pypy] deps = @@ -140,12 +139,12 @@ exclude_lines = ^if __name__ == ['"]__main__['"]:$ [coverage:paths] -source = sourmash/ +source = src/sourmash/ */.tox/*/lib/python*/site-packages/sourmash */.tox/pypy*/site-packages/sourmash */.tox\*\Lib\site-packages\sourmash - */sourmash - *\sourmash + */src/sourmash + *\src\sourmash [travis] python =