Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
109 lines (97 loc) · 3.87 KB
/
Copy pathpyproject.toml
File metadata and controls
109 lines (97 loc) · 3.87 KB
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
# pyproject.toml
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "pampaneira-imputation"
version = "0.1.0" # Initial development version
description = "Time series imputation for Pampaneira traffic and pollution data using baseline methods and SAITS."
readme = "README.md"
requires-python = ">=3.9" # Based on type hints and potential library requirements
license = {text = "MIT"} # Or choose another license like "Apache-2.0", remember to add a LICENSE file
authors = [
{name = "Your Name", email = "your.email@example.com"},
# Add other authors if applicable
]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: MIT License", # Adjust if you chose a different license
"Operating System :: OS Independent",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Development Status :: 3 - Alpha", # Or "4 - Beta" if more mature
]
# Core runtime dependencies
dependencies = [
"pandas>=1.3", # Reasonable minimum version
"numpy>=1.20",
"scikit-learn>=1.0",
"matplotlib>=3.4",
"pypots>=0.1", # Check latest pypots version if needed
"torch>=1.8", # Check torch compatibility with pypots and your system
]
# Optional dependencies: install with `pip install .[test,notebook,dev]`
[project.optional-dependencies]
test = [
"pytest>=7.0",
]
notebook = [
"jupyterlab>=3.0",
"jupytext", # If you want to sync .py and .ipynb files
]
# Development dependencies can include testing, notebook, and other tools
dev = [
"pampaneira-imputation[test,notebook]", # Include other optional groups
"black>=23.0", # Code formatter
"isort>=5.10", # Import sorter
"ruff", # Fast linter (can replace flake8, isort, etc.)
# "flake8", # Linter (alternative/addition to ruff)
]
# If you add console scripts later
# [project.scripts]
# command-name = "pampaneira_imputation.module:function"
[project.urls]
Homepage = "https://github.com/your_username/pampaneira-imputation" # Example URL
Repository = "https://github.com/your_username/pampaneira-imputation" # Example URL
# --- Tool Configurations ---
[tool.setuptools.packages.find]
where = ["."] # Location of packages relative to pyproject.toml, usually root
include = ["pampaneira_imputation*"] # Pattern to find your package
exclude = ["tests*", "notebooks*"] # Exclude test and notebook directories from the package build
# Configuration for pytest
[tool.pytest.ini_options]
minversion = "7.0"
testpaths = [
"tests", # Directory where tests are located
]
addopts = "-ra -v --import-mode=importlib" # Show summary for skips/fails, verbose, standard import
python_files = "test_*.py" # Pattern for test files
python_classes = "Test*" # Pattern for test classes
python_functions = "test_*" # Pattern for test functions
filterwarnings = [
"ignore::DeprecationWarning", # Example: ignore deprecation warnings
]
pythonpath = ["."] # <-- Add this line
# Configuration for black (code formatter)
[tool.black]
line-length = 88 # Default
# target-version = ['py39', 'py310', 'py311', 'py312'] # Specify supported Python versions
# Configuration for isort (import sorter)
[tool.isort]
profile = "black" # Use black-compatible settings
line_length = 88 # Match black
[tool.uv.workspace]
members = [
"presentacion/guion",
]
# Configuration for Ruff (linter) - uncomment and configure if using
# [tool.ruff]
# line-length = 88
# select = ["E", "F", "W", "I", "UP", "PL"] # Example selections: Pyflakes, Pycodestyle, Isort, Pyupgrade, Pylint
# ignore = ["E501"] # Example: ignore line too long if needed
# # Specify source directories
# src = ["pampaneira_imputation", "tests"]