-
Notifications
You must be signed in to change notification settings - Fork 20
/
setup.py
89 lines (84 loc) · 2.63 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Always prefer setuptools over distutils
from setuptools import setup, find_packages
long_description = """
Panini is a modern framework for quick development of streaming microservices.
Our goal is to create fastapi/aiohttp/flask-like solution but for NATS streaming.
The framework allows you to work with NATS features and some additional logic using a simple interface:
- publish messages to subject
- subscribe to subject
- request-response
- request-response to another subject
- tasks
- periodic tasks
- middlewares
- HTTP server
"""
tracing_dependencies = [
"opentelemetry-api==1.19.0",
"opentelemetry-sdk==1.19.0",
"opentelemetry-exporter-otlp-proto-grpc==1.19.0",
"opentelemetry-exporter-prometheus==1.12.0rc1"
]
setup(
name="panini",
version="0.8.4",
description="A python messaging framework for microservices based on NATS",
long_description=long_description,
long_description_content_type="text/x-rst",
url="https://github.com/lwinterface/panini",
author="Op Return SA, developers: Andrii Volotskov, Danylo Tiutiushkin",
author_email="[email protected]",
python_requires=">=3.8.3",
license="MIT",
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3 :: Only",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Topic :: System :: Networking",
"Topic :: System :: Distributed Computing",
],
packages=[
"panini",
"panini.utils",
"panini.http_server",
"panini.middleware",
"panini.managers",
],
install_requires=[
"async-timeout==4.0.0",
"nats-py==2.6.0",
"websocket-client>=1.2.3",
"requests>=2.31.0",
"six>=1.15.0",
"yarl>=1.6.1",
"python-json-logger>=2.0.1",
"nest-asyncio==1.5.1",
"prometheus-client==0.9.0",
"nats-python>=0.8.0",
"ujson==5.4.0",
],
keywords=[
"nats",
"microservice",
"stream",
"processing",
"asyncio",
"distributed",
"queue",
],
project_urls={ # Optional
"Bug Reports": "https://github.com/lwinterface/panini/issues",
"Source": "https://github.com/lwinterface/panini/",
},
zip_safe=False,
extras_required={
'tracing': tracing_dependencies
}
)