nucypher/setup.py

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,
)