nucypher/setup.py

85 lines
2.2 KiB
Python
Raw Permalink Normal View History

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
2020-05-28 18:53:29 +00:00
from pathlib import Path
from typing import Dict
2020-12-20 09:27:59 +00:00
2024-02-06 15:28:18 +00:00
from setuptools import find_namespace_packages, setup
PACKAGE_NAME = 'nucypher'
2020-05-28 18:53:29 +00:00
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",
2023-11-03 18:24:59 +00:00
"Programming Language :: Python :: 3.12",
"Topic :: Security",
]
ABOUT: Dict[str, str] = dict()
2020-05-28 18:53:29 +00:00
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):
2021-05-11 17:55:13 +00:00
with open(BASE_DIR / path) as f:
2024-02-16 12:26:48 +00:00
return f.read().split("\n")
2023-06-07 15:07:00 +00:00
INSTALL_REQUIRES = read_requirements("requirements.txt")
DEV_REQUIRES = read_requirements("dev-requirements.txt")
2022-05-02 11:10:55 +00:00
EXTRAS = {
2024-02-16 12:26:48 +00:00
"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
2024-02-06 15:28:18 +00:00
packages=find_namespace_packages(
exclude=["scripts", "nucypher.utilities.templates"]
),
include_package_data=True,
2024-02-16 12:26:48 +00:00
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,
2024-02-16 14:33:22 +00:00
keywords="threshold access control, distributed key generation",
2024-02-16 12:26:48 +00:00
classifiers=PYPI_CLASSIFIERS,
)