-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathpyproject.toml
118 lines (94 loc) · 3.71 KB
/
pyproject.toml
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# -*- coding: utf-8 -*-
# =============================================================================
# Project Configuration
# =============================================================================
[tool.poetry]
name = "rite"
version = "0.0.3"
description = "Python Utility Package"
authors = ["Scape Agency <info@scape.agency>"]
license = "MIT License"
readme = "README.md"
homepage = "https://www.pyrites.dev"
repository = "https://github.com/scape-agency/rite"
documentation = "https://github.com/scape-agency/rite/docs"
keywords = [
"rite",
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: Other/Proprietary License",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries :: Python Modules",
]
include = [
"src/rite/**",
"README.md",
"LICENSE",
"docs/**", # Include documentation in the package
]
packages = [{ include = "rite", from = "src" }]
# =============================================================================
# Dependencies
# =============================================================================
[tool.poetry.dependencies]
python = ">=3.10,<4.0"
pytz = "^2024.2"
# =============================================================================
# Development Dependencies
# =============================================================================
[tool.poetry.group.dev.dependencies]
pytest = "^8.3.4" # Framework for testing
pytest-cov = "^6.0.0" # Code coverage for tests
black = "^24.8.0" # Code formatter
flake8 = "^7.1.0" # Linter for code quality
mypy = "^1.14.1" # Static type checker
sphinx = "^8.0.2" # Documentation generator
isort = "^5.10.1" # Import sorter
tox = "^4.4.6" # Testing multiple environments
pre-commit = "^4.0.1" # Pre-commit hooks for linting and formatting
# =============================================================================
# Build System
# =============================================================================
[build-system]
requires = ["poetry-core>=1.5.0"]
build-backend = "poetry.core.masonry.api"
# =============================================================================
# Scripts
# =============================================================================
[tool.poetry.scripts]
rite = "rite.__main__:main" # Entry point for the package
# test = "pytest --cov=rite tests/:main" # Run tests with coverage
# lint = "flake8 src/rite/:main" # Run linter on source files
# format = "black src/rite/:main" # Format source files
# type-check = "mypy src/rite/:main" # Type-check source files
# =============================================================================
# Tox Configuration
# =============================================================================
[tool.tox]
envlist = ["py310", "py311", "py312", "lint", "type-check"]
[tool.tox.default]
description = "Run all test environments."
[tool.tox.env.py310]
description = "Run tests with Python 3.10."
deps = ["pytest", "pytest-cov"]
commands = ["pytest --cov=rite tests/"]
[tool.tox.env.py311]
description = "Run tests with Python 3.11."
deps = ["pytest", "pytest-cov"]
commands = ["pytest --cov=rite tests/"]
[tool.tox.env.py312]
description = "Run tests with Python 3.12."
deps = ["pytest", "pytest-cov"]
commands = ["pytest --cov=rite tests/"]
[tool.tox.env.lint]
description = "Run linting with flake8."
deps = ["flake8"]
commands = ["flake8 src/"]
[tool.tox.env.type-check]
description = "Run type-checking with mypy."
deps = ["mypy"]
commands = ["mypy src/"]