def test_get_package_metadata_docs_require_error(self): with open(os.path.join(self.dirname, 'requirements.optional.txt'), 'w') as file: file.write('[docs]\n') file.write('req1\n') with self.assertRaisesRegex(ValueError, '^Documentation dependencies should be defined in `docs/requirements`$'): pkg_utils.get_package_metadata(self.dirname, 'package')
result = subprocess.run([sys.executable, "-m", "pip", "show", "pkg_utils"], check=True, capture_output=True) match = re.search(r'\nVersion: (.*?)\n', result.stdout.decode(), re.DOTALL) assert match and tuple(match.group(1).split('.')) >= ('0', '0', '5') except (subprocess.CalledProcessError, AssertionError): subprocess.run([sys.executable, "-m", "pip", "install", "-U", "pkg_utils"], check=True) import os import pkg_utils name = '<my_simulator>' dirname = os.path.dirname(__file__) # get package metadata md = pkg_utils.get_package_metadata(dirname, name) with open(os.path.join(os.path.dirname(__file__), 'README.md'), 'r') as file: long_description = file.read() # install package setuptools.setup( name=name, version=md.version, description=( "BioSimulators-compliant command-line interface to " "the <MySimulator> simulation program <https://url.for.my.simulator>." ), long_description=long_description, long_description_content_type='text/markdown', url="https://github.com/<organization>/<repository>", download_url="https://github.com/<organization>/<repository>",
subprocess.run([sys.executable, "-m", "pip", "install", "-U", "pkg_utils"], check=True) import os import pkg_utils name = 'wc_kb' dirname = os.path.dirname(__file__) package_data = { name: [ 'config/core.default.cfg', 'config/core.schema.cfg', ], } # get package metadata md = pkg_utils.get_package_metadata( dirname, name, package_data_filename_patterns=package_data) # install package setuptools.setup( name=name, version=md.version, description= "Tools for building and describing knowledge bases for whole-cell models", long_description=md.long_description, url="https://github.com/KarrLab/" + name, download_url='https://github.com/KarrLab/' + name, author="Karr Lab", author_email="*****@*****.**", license="MIT", keywords='whole-cell systems biology', packages=setuptools.find_packages(exclude=['tests', 'tests.*']),
import setuptools try: import pkg_utils except ImportError: import pip._internal pip._internal.main(['install', 'pkg_utils']) import pkg_utils import os name = 'nose2unitth' dirname = os.path.dirname(__file__) # get package metadata md = pkg_utils.get_package_metadata(dirname, name) # install package setuptools.setup( name=name, version=md.version, description="Convert nose-style test reports to UnitTH-style test reports", long_description=md.long_description, url="https://github.com/KarrLab/" + name, download_url='https://github.com/KarrLab/' + name, author="Jonathan Karr", author_email="*****@*****.**", license="MIT", keywords='nose unitth xunit junit', packages=setuptools.find_packages(exclude=['tests', 'tests.*']), package_data={ name: [ 'VERSION',
import os import sys name = 'karr_lab_build_utils' dirname = os.path.dirname(__file__) package_data = { name: [ 'VERSION', 'templates/*', 'templates/**/*', 'config/*.cfg', ], } # get package metadata md = pkg_utils.get_package_metadata(dirname, name, package_data_filename_patterns=package_data) # read old console scripts console_scripts = pkg_utils.get_console_scripts(dirname, name) # install package setuptools.setup( name=name, version=md.version, description="Karr Lab build utilities", long_description=md.long_description, url="https://github.com/KarrLab/" + name, download_url='https://github.com/KarrLab/' + name, author="Jonathan Karr", author_email="*****@*****.**", license="MIT",
def test_get_package_metadata(self): pkg_utils.convert_readme_md_to_rst(self.dirname) md = pkg_utils.get_package_metadata(self.dirname, 'package') self.assertEqual(md.long_description, 'Test\n====\n') self.assertEqual(md.version, '0.0.1') self.assertEqual(md.install_requires, [ 'req1', 'req2[opt2]', 'req3 >= 1.0', 'req4; python_version > "2.6"', ]) self.assertEqual(md.tests_require, [ 'req9', ]) self.assertEqual(md.extras_require, { 'package_opt_1': [ 'req7', ], 'package_opt_2': [ 'req10[option10]', 'req8[opt8a, opt8b]', 'req9[opt9a, opt9b]', ], 'tests': [ 'req9', ], 'docs': [ 'req10', 'req11', 'req12[opt12a, opt12b] <= 1.0, >= 2.0; python_version>="2.7"', 'req13[opt13a, opt13b]; python_version >= "2.7"', 'req14[opt13a, opt13b]; python_version >= "2.7"', 'req15; python_version >= "2.7"', 'req16', 'req17', 'req18', ], 'all': [ 'req10', 'req10[option10]', 'req11', 'req12[opt12a, opt12b] <= 1.0, >= 2.0; python_version>="2.7"', 'req13[opt13a, opt13b]; python_version >= "2.7"', 'req14[opt13a, opt13b]; python_version >= "2.7"', 'req15; python_version >= "2.7"', 'req16', 'req17', 'req18', 'req7', 'req8[opt8a, opt8b]', 'req9', 'req9[opt9a, opt9b]', ], }) self.assertEqual(md.dependency_links, [ 'git+https://github.com/opt/req10.git@branch#egg=req10-10.1.2', 'git+https://github.com/opt/req14.git#egg=req14-14.1.2', 'git+https://github.com/opt/req15.git#egg=req15-15.1.2', 'git+https://github.com/opt/req16.git#egg=req16-16.1.2', 'git+https://github.com/opt/req17.git#egg=req17-17.1.2', 'git+https://github.com/opt/req18.git@branch#egg=req18-18.1.2', ])