Skip to content

Commit 5ebbfa1

Browse files
committed
chore: setup project in pyproject.toml
ref: #1052 #436 #549
1 parent 222ea27 commit 5ebbfa1

File tree

2 files changed

+187
-0
lines changed

2 files changed

+187
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,5 @@ app/artifacts/
2626
app/pyproject.toml
2727
app/histogram_**
2828
app/counter_**
29+
**.egg-info
30+
dist/*

pyproject.toml

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,188 @@
1+
[build-system]
2+
requires = [
3+
"setuptools>=80.9.0",
4+
"setuptools-scm>=9.2.2",
5+
"wheel",
6+
7+
]
8+
build-backend = "setuptools.build_meta"
9+
10+
11+
12+
[project]
13+
14+
name = "Centurion-ERP"
15+
description = "An ERP with a large emphasis on the IT Service Management (ITSM) and Automation."
16+
17+
version = "1.27.0"
18+
19+
readme = {file = "README.md", content-type = "text/markdown"}
20+
requires-python = ">=3.11"
21+
license = "AGPL-3.0-only"
22+
23+
authors = [
24+
{ name = "No Fuss Computing", email = "[email protected]" }
25+
]
26+
maintainers = [
27+
{ name = "No Fuss Computing", email = "[email protected]" }
28+
]
29+
dependencies = [
30+
31+
"django>=5.1.15,<5.2",
32+
"django-cors-headers==4.4.0",
33+
34+
35+
# ##################################################
36+
# Authentication
37+
# ##################################################
38+
"social-auth-app-django==5.6.0",
39+
40+
# ##################################################
41+
# DRF
42+
# ##################################################
43+
"djangorestframework==3.16.0",
44+
"djangorestframework-jsonapi==7.1.0",
45+
46+
"pyyaml>=6.0.2",
47+
"django-filter==24.2",
48+
49+
50+
# ##################################################
51+
# OpenAPI Schema / Swagger
52+
# ##################################################
53+
"uritemplate==4.1.1",
54+
"coreapi==2.3.3",
55+
56+
"drf-spectacular==0.28.0",
57+
"drf-spectacular[sidecar]==0.28.0",
58+
"django_split_settings==1.3.1",
59+
60+
61+
# ##################################################
62+
# Celery
63+
# ##################################################
64+
"celery==5.4.0",
65+
"django-celery-results==2.5.1",
66+
"sqlalchemy==2.0.31",
67+
68+
69+
# ##################################################
70+
# Metrics
71+
# ##################################################
72+
"prometheus-client==0.21.1",
73+
"django-prometheus==2.3.1",
74+
75+
76+
# Version must be specified. see https://github.com/nofusscomputing/centurion_erp/issues/603
77+
# must also have export PYTHONTZPATH=""
78+
"pytz==2025.1",
79+
"tzdata==2025.1",
80+
81+
82+
# ##################################################
83+
# Django View(s)
84+
# ##################################################
85+
86+
"markdown-it-py[plugins]==3.0.0",
87+
"markdown-it-py[linkify]==3.0.0",
88+
"Pygments==2.18.0",
89+
90+
]
91+
92+
classifiers = [
93+
# How mature is this project? Common values are
94+
# 3 - Alpha
95+
# 4 - Beta
96+
# 5 - Production/Stable
97+
"Development Status :: 4 - Beta",
98+
99+
"Framework :: Celery",
100+
"Framework :: Django",
101+
"Framework :: Django :: 5.1",
102+
103+
"Intended Audience :: Developers",
104+
"Intended Audience :: Information Technology",
105+
"Intended Audience :: System Administrators",
106+
107+
"Programming Language :: Python :: 3",
108+
"Programming Language :: Python :: 3 :: Only",
109+
"Programming Language :: Python :: 3.10",
110+
"Programming Language :: Python :: 3.11",
111+
"Programming Language :: Python :: 3.12",
112+
"Programming Language :: Python :: 3.13",
113+
114+
"Operating System :: OS Independent"
115+
]
116+
117+
118+
119+
[project.optional-dependencies]
120+
121+
dev = [
122+
"commitizen==3.28.0",
123+
"coverage==7.8.0",
124+
"django-debug-toolbar==5.1.0",
125+
"pylint==3.3.7",
126+
"pytest==8.3.5",
127+
128+
# PyTest Plugins
129+
"pytest-cov==6.1.1",
130+
"pytest-django==4.11.1",
131+
"pytest-mock==3.14.0",
132+
133+
# selenium==4.21.0
134+
]
135+
136+
prod = [
137+
# mysql support
138+
"mysqlclient==2.2.4",
139+
140+
# Postgres support
141+
"psycopg2==2.9.9", # postgresql16-dev postgresql16-client libpq-dev
142+
143+
# Production Web server
144+
"gunicorn==23.0.0",
145+
146+
# SupervisorD
147+
"supervisor==4.2.5",
148+
149+
]
150+
151+
152+
153+
[project.scripts]
154+
manage = "app.manage:main"
155+
156+
157+
158+
[project.urls]
159+
160+
Documentation = "https://nofusscomputing.com/projects/centurion_erp"
161+
Changelog = "https://nofusscomputing.com/projects/centurion_erp/blob/master/CHANGELOG.md"
162+
Homepage = "https://github.com/nofusscomputing/centurion_erp"
163+
Issues = "https://github.com/nofusscomputing/centurion_erp/issues"
164+
releasenotes = "https://nofusscomputing.com/projects/centurion_erp/blob/master/Release-Notes.md"
165+
Source = "https://github.com/nofusscomputing/centurion_erp"
166+
167+
168+
169+
# [tool.commitizen]
170+
# name = "cz_customize"
171+
# version_provider = "commitizen"
172+
# #
173+
# # To Do: Migrate .cz.yaml file
174+
# #
175+
176+
177+
178+
[tool.setuptools]
179+
package-dir = {"" = "app"}
180+
181+
[tool.setuptools_scm]
182+
root = 'app'
183+
184+
185+
1186
[tool.coverage.run]
2187
source = [ "./app" ]
3188
omit = [

0 commit comments

Comments
 (0)