aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2025-11-17 17:55:02 +0100
committerJ08nY2025-11-17 17:55:02 +0100
commit0a99fb4db3ef07c8e02847c30d54f4ac34685ede (patch)
tree0f6141ddfd1b7881641a23e8a634d0184e2d2190
parentdc8cd4bfb5acee6abab74c7401b43505f669cec3 (diff)
downloadsec-certs-0a99fb4db3ef07c8e02847c30d54f4ac34685ede.tar.gz
sec-certs-0a99fb4db3ef07c8e02847c30d54f4ac34685ede.tar.zst
sec-certs-0a99fb4db3ef07c8e02847c30d54f4ac34685ede.zip
Fixup Dockerfile.
-rw-r--r--Dockerfile10
-rw-r--r--pyproject.toml44
-rw-r--r--uv.lock72
3 files changed, 67 insertions, 59 deletions
diff --git a/Dockerfile b/Dockerfile
index e0040227..7b9f982f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -52,14 +52,14 @@ COPY --chown=${NB_UID}:${NB_GID} --from=intermediate /output ${HOME}/sec-certs
ENV VENV_PATH=${HOME}/venv
RUN python3 -m venv ${VENV_PATH}
ENV PATH="${VENV_PATH}/bin:$PATH"
+ENV UV_PROJECT_ENVIRONMENT=${VENV_PATH}
# Install dependencies, notebook is because of mybinder.org
RUN \
- pip3 install -U pip wheel pip-tools && \
- pip-sync requirements/requirements.txt && \
- pip3 install --no-cache notebook jupyterlab && \
- pip3 install -e . && \
- python -m spacy download en_core_web_sm
+ pip install -U pip wheel uv && \
+ uv sync && \
+ pip install --no-cache notebook jupyterlab && \
+ uv run spacy download en_core_web_sm
# just to be sure that pdftotext is in $PATH
ENV PATH /usr/bin/pdftotext:${PATH}
diff --git a/pyproject.toml b/pyproject.toml
index 6981bd7d..87957edb 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -65,27 +65,6 @@
]
[project.optional-dependencies]
- dev = [
- "ruff==0.7.4",
- "mypy==1.13.0",
- "types-PyYAML",
- "types-python-dateutil",
- "types-requests",
- "datasets",
- "coverage[toml]",
- "pytest",
- "pytest-cov",
- "pytest-monitor",
- "pytest-profiling",
- "pre-commit",
- "pip-tools",
- "sphinx",
- "myst-nb>=0.14",
- "sphinx-book-theme",
- "sphinx-design",
- "sphinx-copybutton",
- "ipython!=8.7.0",
- ]
nlp = [
"catboost",
"optuna",
@@ -108,6 +87,29 @@
[project.scripts]
sec-certs = "sec_certs.cli:main"
+[dependency-groups]
+ dev = [
+ "ruff==0.7.4",
+ "mypy==1.13.0",
+ "types-PyYAML",
+ "types-python-dateutil",
+ "types-requests",
+ "datasets",
+ "coverage[toml]",
+ "pytest",
+ "pytest-cov",
+ "pytest-monitor",
+ "pytest-profiling",
+ "pre-commit",
+ "pip-tools",
+ "sphinx",
+ "myst-nb>=0.14",
+ "sphinx-book-theme",
+ "sphinx-design",
+ "sphinx-copybutton",
+ "ipython!=8.7.0",
+ ]
+
[tool.ruff]
lint.select = [
"I", # isort
diff --git a/uv.lock b/uv.lock
index 0bc50868..0155aae2 100644
--- a/uv.lock
+++ b/uv.lock
@@ -4540,6 +4540,21 @@ dependencies = [
]
[package.optional-dependencies]
+nlp = [
+ { name = "catboost" },
+ { name = "nltk" },
+ { name = "openai" },
+ { name = "optuna" },
+ { name = "plotly" },
+ { name = "pyarrow" },
+ { name = "scikit-learn" },
+ { name = "sentence-transformers" },
+ { name = "setfit" },
+ { name = "sqlite-vec" },
+ { name = "umap-learn", extra = ["plot"] },
+]
+
+[package.dev-dependencies]
dev = [
{ name = "coverage", extra = ["toml"] },
{ name = "datasets" },
@@ -4563,37 +4578,19 @@ dev = [
{ name = "types-pyyaml" },
{ name = "types-requests" },
]
-nlp = [
- { name = "catboost" },
- { name = "nltk" },
- { name = "openai" },
- { name = "optuna" },
- { name = "plotly" },
- { name = "pyarrow" },
- { name = "scikit-learn" },
- { name = "sentence-transformers" },
- { name = "setfit" },
- { name = "sqlite-vec" },
- { name = "umap-learn", extra = ["plot"] },
-]
[package.metadata]
requires-dist = [
{ name = "beautifulsoup4" },
{ name = "catboost", marker = "extra == 'nlp'" },
{ name = "click" },
- { name = "coverage", extras = ["toml"], marker = "extra == 'dev'" },
- { name = "datasets", marker = "extra == 'dev'" },
{ name = "dateparser" },
{ name = "html5lib" },
{ name = "ipykernel" },
- { name = "ipython", marker = "extra == 'dev'", specifier = "!=8.7.0" },
{ name = "ipywidgets" },
{ name = "jsonschema" },
{ name = "lxml" },
{ name = "matplotlib" },
- { name = "mypy", marker = "extra == 'dev'", specifier = "==1.13.0" },
- { name = "myst-nb", marker = "extra == 'dev'", specifier = ">=0.14" },
{ name = "networkx" },
{ name = "nltk", marker = "extra == 'nlp'" },
{ name = "numpy" },
@@ -4603,10 +4600,8 @@ requires-dist = [
{ name = "pdftotext", specifier = ">=3.0.0" },
{ name = "pikepdf" },
{ name = "pillow", specifier = ">=9.2.0" },
- { name = "pip-tools", marker = "extra == 'dev'" },
{ name = "pkgconfig" },
{ name = "plotly", marker = "extra == 'nlp'" },
- { name = "pre-commit", marker = "extra == 'dev'" },
{ name = "psutil" },
{ name = "pyarrow", marker = "extra == 'nlp'" },
{ name = "pydantic" },
@@ -4614,15 +4609,10 @@ requires-dist = [
{ name = "pypdf", extras = ["crypto"], specifier = ">=3.1.0" },
{ name = "pysankeybeta" },
{ name = "pytesseract" },
- { name = "pytest", marker = "extra == 'dev'" },
- { name = "pytest-cov", marker = "extra == 'dev'" },
- { name = "pytest-monitor", marker = "extra == 'dev'" },
- { name = "pytest-profiling", marker = "extra == 'dev'" },
{ name = "python-dateutil" },
{ name = "pyyaml" },
{ name = "rapidfuzz" },
{ name = "requests" },
- { name = "ruff", marker = "extra == 'dev'", specifier = "==0.7.4" },
{ name = "scikit-learn" },
{ name = "scikit-learn", marker = "extra == 'nlp'" },
{ name = "scipy", specifier = ">=1.9.0" },
@@ -4632,19 +4622,35 @@ requires-dist = [
{ name = "setuptools-scm" },
{ name = "spacy", marker = "platform_machine != 'aarch64'", specifier = ">=3.8.0" },
{ name = "spacy", marker = "platform_machine == 'aarch64'", specifier = "<3.8.0" },
- { name = "sphinx", marker = "extra == 'dev'" },
- { name = "sphinx-book-theme", marker = "extra == 'dev'" },
- { name = "sphinx-copybutton", marker = "extra == 'dev'" },
- { name = "sphinx-design", marker = "extra == 'dev'" },
{ name = "sqlite-vec", marker = "extra == 'nlp'" },
{ name = "tabula-py" },
{ name = "tqdm" },
- { name = "types-python-dateutil", marker = "extra == 'dev'" },
- { name = "types-pyyaml", marker = "extra == 'dev'" },
- { name = "types-requests", marker = "extra == 'dev'" },
{ name = "umap-learn", extras = ["plot"], marker = "extra == 'nlp'" },
]
-provides-extras = ["dev", "nlp"]
+provides-extras = ["nlp"]
+
+[package.metadata.requires-dev]
+dev = [
+ { name = "coverage", extras = ["toml"] },
+ { name = "datasets" },
+ { name = "ipython", specifier = "!=8.7.0" },
+ { name = "mypy", specifier = "==1.13.0" },
+ { name = "myst-nb", specifier = ">=0.14" },
+ { name = "pip-tools" },
+ { name = "pre-commit" },
+ { name = "pytest" },
+ { name = "pytest-cov" },
+ { name = "pytest-monitor" },
+ { name = "pytest-profiling" },
+ { name = "ruff", specifier = "==0.7.4" },
+ { name = "sphinx" },
+ { name = "sphinx-book-theme" },
+ { name = "sphinx-copybutton" },
+ { name = "sphinx-design" },
+ { name = "types-python-dateutil" },
+ { name = "types-pyyaml" },
+ { name = "types-requests" },
+]
[[package]]
name = "sentence-transformers"