mirror of https://github.com/nucypher/nucypher.git
85 lines
2.2 KiB
Python
85 lines
2.2 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
from pathlib import Path
|
|
from typing import Dict
|
|
|
|
from setuptools import find_namespace_packages, setup
|
|
|
|
PACKAGE_NAME = 'nucypher'
|
|
BASE_DIR = Path(__file__).parent
|
|
PYPI_CLASSIFIERS = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
|
|
"Natural Language :: English",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Security",
|
|
]
|
|
|
|
ABOUT: Dict[str, str] = dict()
|
|
SOURCE_METADATA_PATH = BASE_DIR / PACKAGE_NAME / "__about__.py"
|
|
with open(str(SOURCE_METADATA_PATH.resolve())) as f:
|
|
exec(f.read(), ABOUT)
|
|
|
|
|
|
def read_requirements(path):
|
|
with open(BASE_DIR / path) as f:
|
|
return f.read().split("\n")
|
|
|
|
|
|
INSTALL_REQUIRES = read_requirements("requirements.txt")
|
|
DEV_REQUIRES = read_requirements("dev-requirements.txt")
|
|
|
|
EXTRAS = {
|
|
"dev": DEV_REQUIRES,
|
|
}
|
|
|
|
# read the contents of your README file
|
|
long_description = (Path(__file__).parent / "README.md").read_text()
|
|
|
|
setup(
|
|
|
|
# Requirements
|
|
python_requires='>=3',
|
|
install_requires=INSTALL_REQUIRES,
|
|
extras_require=EXTRAS,
|
|
|
|
# Package Data
|
|
packages=find_namespace_packages(
|
|
exclude=["scripts", "nucypher.utilities.templates"]
|
|
),
|
|
include_package_data=True,
|
|
zip_safe=True,
|
|
|
|
# Entry Points
|
|
entry_points={
|
|
'console_scripts': [
|
|
'nucypher = nucypher.cli.main:nucypher_cli',
|
|
],
|
|
'pytest11': [
|
|
"pytest-nucypher = tests.fixtures"
|
|
]
|
|
},
|
|
|
|
# Metadata
|
|
name=ABOUT['__title__'],
|
|
url=ABOUT['__url__'],
|
|
version=ABOUT['__version__'],
|
|
author=ABOUT['__author__'],
|
|
author_email=ABOUT['__email__'],
|
|
description=ABOUT['__summary__'],
|
|
license=ABOUT['__license__'],
|
|
long_description_content_type="text/markdown",
|
|
long_description=long_description,
|
|
keywords="threshold access control, distributed key generation",
|
|
classifiers=PYPI_CLASSIFIERS,
|
|
)
|