diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a8c22dd --- /dev/null +++ b/LICENSE @@ -0,0 +1,15 @@ +Copyright 2021 Euxhen Hasanaj + +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. \ No newline at end of file diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..d4c4330 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,9 @@ +include LICENSE +include MANIFEST.in +include pyproject.toml +include README.rst +include test/*.py +include includes/* + +exclude .git* +prune .github \ No newline at end of file diff --git a/Makefile b/Makefile index 26eb1b0..0bdb7fb 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ TestSet: test_set.o $(OBJ) $(CC) $(CFLAGS) -o test_set test_set.o $(OBJ) test_set.o: - $(CC) $(CFLAGS) -c tests/test_set.cpp + $(CC) $(CFLAGS) -c test/test_set.cpp clean: rm -f *.o \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b5a3c46 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,6 @@ +[build-system] +requires = [ + "setuptools>=42", + "wheel" +] +build-backend = "setuptools.build_meta" \ No newline at end of file diff --git a/setup.py b/setup.py index 768200e..dadd637 100644 --- a/setup.py +++ b/setup.py @@ -1,3 +1,4 @@ +from distutils import cmd import glob import os @@ -9,17 +10,39 @@ include_dirs=['includes'], extra_compile_args=['-std=c++17', '-O2']) + +class CleanCommand(Command): + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + os.system('rm -vrf ./build ./dist ./*.pyc ./*.tgz ./*.egg-info') + + +cmdclass = {'clean': CleanCommand} + options = { 'name': 'multiset_multicover', 'description': 'MM is a package for running the greedy cover algorithm to perform multiset multicover.', 'license': 'MIT', + 'version': '1.1.1', 'author': 'Euxhen Hasanaj', 'author_email': 'ehasanaj@cs.cmu.edu', - 'provides': 'multiset_multicover', + 'url': 'https://github.com/ferrocactus/multiset_multicover', + 'provides': ['multiset_multicover'], 'package_dir': {'multiset_multicover': os.path.join('src', 'multiset_multicover')}, 'packages': ['multiset_multicover'], + 'cmdclass': cmdclass, 'ext_modules': [gci_ext], - 'platforms': 'ALL' + 'platforms': 'ALL', + 'keywords': ['set', 'cover', 'multiset', 'multicover', 'greedy'], + 'install_requires': [], + 'python_requires': ">=3.8" } setup(**options) diff --git a/tests/__init__.py b/test/__init__.py similarity index 100% rename from tests/__init__.py rename to test/__init__.py diff --git a/tests/test_interface.py b/test/test_interface.py similarity index 100% rename from tests/test_interface.py rename to test/test_interface.py diff --git a/tests/test_set.cpp b/test/test_set.cpp similarity index 100% rename from tests/test_set.cpp rename to test/test_set.cpp