GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — datajoint-python/pyproject.toml at master · mayuriphad/datajoint-python Expand file tree/ Copy pathpyproject.tomlMore file actions 296 lines (264 loc) · 8.44 KB / Copy pathpyproject.tomlFile metadata and controls296 lines (264 loc) · 8.44 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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 [build-system] requires = ["hatchling", "hatch-vcs"] build-backend = "hatchling.build" [project] name = "datajoint" dynamic = ["version"] dependencies = [ "numpy", "pymysql>=0.7.2", "deepdiff", "pyparsing", "pandas", "tqdm", "networkx", "pydot", "fsspec>=2023.1.0", "pydantic-settings>=2.0.0", "packaging", ] requires-python = ">=3.10,<3.15" authors = [ {name = "Raphael Guzman"}, {name = "Edgar Walker"}, ] maintainers = [ ] # manually sync here: https://docs.datajoint.com/core/datajoint-python/latest/#welcome-to-datajoint-for-python description = "The DataJoint Library for Python is a framework for scientific workflow management based on relational principles. It is built on the foundation of the relational data model and prescribes a consistent method for organizing, populating, computing, and querying data." readme = "README.md" license = {file = "LICENSE"} keywords = [ "datajoint", "data-pipelines", "workflow-management", "data-engineering", "scientific-computing", "neuroscience", "research-software", "data-integrity", "reproducibility", "declarative", "etl", "object-storage", "schema-management", "data-lineage", "relational-model", "mysql", "postgresql", ] # https://pypi.org/classifiers/ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "Intended Audience :: Healthcare Industry", "License :: OSI Approved :: Apache Software License", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] [project.urls] Homepage = "https://docs.datajoint.com/" Documentation = "https://docs.datajoint.com/" Repository = "https://github.com/datajoint/datajoint-python" "Bug Tracker" = "https://github.com/datajoint/datajoint-python/issues" "Release Notes" = "https://github.com/datajoint/datajoint-python/releases" [project.scripts] dj = "datajoint.cli:cli" datajoint = "datajoint.cli:cli" [dependency-groups] test = [ "pytest", "pytest-cov", "requests", "faker", "matplotlib", "ipython", "graphviz", "testcontainers[mysql,minio,postgres]>=4.0", "polars>=0.20.0", "pyarrow>=14.0.0", ] [project.optional-dependencies] s3 = ["s3fs>=2023.1.0"] gcs = ["gcsfs>=2023.1.0"] azure = ["adlfs>=2023.1.0"] postgres = ["psycopg2-binary>=2.9.0"] polars = ["polars>=0.20.0"] arrow = ["pyarrow>=14.0.0"] viz = ["matplotlib", "ipython"] test = [ "pytest", "pytest-cov", "requests", "faker", "matplotlib", "ipython", "s3fs>=2023.1.0", "testcontainers[mysql,minio,postgres]>=4.0", "psycopg2-binary>=2.9.0", "polars>=0.20.0", "pyarrow>=14.0.0", ] dev = [ "pre-commit", "ruff", "codespell", # including test "pytest", "pytest-cov", "polars>=0.20.0", "pyarrow>=14.0.0", ] [tool.ruff] # Equivalent to flake8 configuration line-length = 127 target-version = "py310" [tool.ruff.lint] # Enable specific rule sets equivalent to flake8 configuration select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "C90", # mccabe complexity ] # Ignore specific rules (equivalent to flake8 --ignore) ignore = [ "E203", # whitespace before ':' "E722", # bare except ] # Per-file ignores (equivalent to flake8 --per-file-ignores) [tool.ruff.lint.per-file-ignores] "datajoint/diagram.py" = ["C901"] # function too complex "tests/integration/test_blob_matlab.py" = ["E501"] # SQL hex strings cannot be broken across lines [tool.ruff.lint.mccabe] # Maximum complexity (equivalent to flake8 --max-complexity) max-complexity = 62 [tool.ruff.format] # Use black-compatible formatting quote-style = "double" indent-style = "space" line-ending = "auto" [tool.mypy] python_version = "3.10" ignore_missing_imports = true # Start with lenient settings, gradually enable stricter checks warn_return_any = false warn_unused_ignores = false disallow_untyped_defs = false disallow_incomplete_defs = false check_untyped_defs = true # Modules with complete type coverage - strict checking enabled [[tool.mypy.overrides]] module = [ "datajoint.hash_registry", "datajoint.errors", "datajoint.hash", ] disallow_untyped_defs = true disallow_incomplete_defs = true warn_return_any = true # Modules excluded from type checking until fully typed [[tool.mypy.overrides]] module = [ "datajoint.admin", "datajoint.autopopulate", "datajoint.blob", "datajoint.builtin_codecs", "datajoint.cli", "datajoint.codecs", "datajoint.condition", "datajoint.connection", "datajoint.declare", "datajoint.dependencies", "datajoint.diagram", "datajoint.expression", "datajoint.gc", "datajoint.heading", "datajoint.jobs", "datajoint.lineage", "datajoint.logging", "datajoint.migrate", "datajoint.objectref", "datajoint.preview", "datajoint.schemas", "datajoint.settings", "datajoint.staged_insert", "datajoint.storage", "datajoint.table", "datajoint.user_tables", "datajoint.utils", ] ignore_errors = true [tool.hatch.version] # Version is derived from the git tag at build time (hatch-vcs), so the tag is # the single source of truth: `pip install [email protected]` reports X.Y.Z. The # resolved version is written to the generated (git-ignored) src/datajoint/_version.py # by the build hook below; src/datajoint/version.py reads it back at runtime. source = "vcs" [tool.hatch.build.hooks.vcs] version-file = "src/datajoint/_version.py" [tool.hatch.build.targets.wheel] packages = ["src/datajoint"] [tool.codespell] skip = ".git,*.pdf,*.svg,*.csv,*.ipynb,*.drawio" # Rever -- nobody knows # numer -- numerator variable # astroid -- Python library name (not "asteroid") ignore-words-list = "rever,numer,astroid" [tool.pytest.ini_options] markers = [ "requires_mysql: marks tests as requiring MySQL database (deselect with '-m \"not requires_mysql\"')", "requires_minio: marks tests as requiring MinIO object storage (deselect with '-m \"not requires_minio\"')", "mysql: marks tests that run on MySQL backend (select with '-m mysql')", "postgresql: marks tests that run on PostgreSQL backend (select with '-m postgresql')", "backend_agnostic: marks tests that should pass on all backends (auto-marked for parameterized tests)", ] [tool.pixi.workspace] channels = ["conda-forge"] platforms = ["linux-64", "osx-arm64", "linux-aarch64"] [tool.pixi.pypi-dependencies] datajoint = { path = ".", editable = true } [tool.pixi.feature.test.pypi-dependencies] datajoint = { path = ".", editable = true, extras = ["test"] } [tool.pixi.feature.dev.pypi-dependencies] datajoint = { path = ".", editable = true, extras = ["dev", "test"] } # Pin the interpreter for the min/max supported versions so CI can exercise # both ends of the requires-python range (see .github/workflows/test.yaml). [tool.pixi.feature.py310.dependencies] python = "3.10.*" [tool.pixi.feature.py314.dependencies] python = "3.14.*" [tool.pixi.environments] default = { solve-group = "default" } dev = { features = ["dev"], solve-group = "default" } test = { features = ["test"], solve-group = "default" } # Version-pinned test environments (each solves independently — a solve-group # cannot span different Python versions). test-py310 = { features = ["test", "py310"] } test-py314 = { features = ["test", "py314"] } [tool.pixi.tasks] # Tests use testcontainers - no manual setup required test = "pytest tests/" test-cov = "pytest --cov-report term-missing --cov=datajoint tests/" # Optional: use external containers (docker-compose) instead of testcontainers services-up = "docker compose up -d db minio" services-down = "docker compose down" test-external = { cmd = "DJ_USE_EXTERNAL_CONTAINERS=1 pytest tests/", depends-on = ["services-up"] } [tool.pixi.dependencies] python = ">=3.10,<3.15" graphviz = ">=13.1.2,<14" [tool.pixi.activation] scripts=["activate.sh"] |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |