From 43f94a6c2c51961f220ab9df355cd486a8a7f59a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Semid=C3=A1n=20Robaina=20Est=C3=A9vez?= Date: Fri, 19 Jun 2026 12:49:35 +0100 Subject: [PATCH] Remove conda dev environment and devcontainer (pip-only) Pynteny is a pure-pip package, so the conda-based developer tooling is no longer needed: - Delete envs/pynteny-dev.yml and the miniconda-based .devcontainer/. - Add requirements-dev.txt with the development tools that used to live in the conda env file (ruff, black, coverage, and the mkdocs documentation stack). - CONTRIBUTING.md: install dev tools via `pip install -r requirements-dev.txt` and drop the conda env note and the (now obsolete) conda Codespaces section. Co-Authored-By: Claude Opus 4.8 --- .devcontainer/Dockerfile | 19 ------------------- .devcontainer/devcontainer.json | 24 ------------------------ CONTRIBUTING.md | 15 +++------------ envs/pynteny-dev.yml | 28 ---------------------------- requirements-dev.txt | 20 ++++++++++++++++++++ 5 files changed, 23 insertions(+), 83 deletions(-) delete mode 100644 .devcontainer/Dockerfile delete mode 100644 .devcontainer/devcontainer.json delete mode 100644 envs/pynteny-dev.yml create mode 100644 requirements-dev.txt diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index d856429..0000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM mcr.microsoft.com/devcontainers/miniconda:0-3 - -WORKDIR /tmp/conda-tmp/ -# Copy repo to docker container -ADD ../ . -# Make conda environment and activate -RUN conda install mamba -n base -c conda-forge -RUN mamba env create -f envs/pynteny-dev.yml -SHELL ["conda", "run", "-n", "pynteny-dev", "/bin/bash", "-c"] -# Build and install Pynteny -RUN poetry build && pip install dist/pynteny*.whl && pynteny --help -# Give read/write permissions to install directory (needed to make config.json) -RUN chmod ugo+rw /opt/conda/envs/pynteny-dev/lib/python3.10/site-packages - -# Initialize conda for default user: vscode -RUN runuser -l vscode -c 'conda init' -# Activate pynteny environment by default -RUN echo "conda activate pynteny-dev" >> /home/vscode/.bashrc -RUN source /home/vscode/.bashrc \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 04a27ea..0000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,24 +0,0 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/miniconda -{ - "name": "Miniconda (Python 3)", - "build": { - "context": "..", - "dockerfile": "Dockerfile" - }, - - // Features to add to the dev container. More info: https://containers.dev/features. - // "features": {}, - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "poetry build && pip install dist/pynteny*.whl && pynteny --help" - - // Configure tool-specific properties. - // "customizations": {}, - - // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" -} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1c4c599..a33d4a6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,12 +40,14 @@ environment for Pynteny: 1. Fork and download repo, cd to downloaded directory. You should create a new branch to work on your issue. -2. Create a virtual environment and install Pynteny in editable mode: +2. Create a virtual environment and install Pynteny (in editable mode) together + with its development tools: ```bash python -m venv .venv source .venv/bin/activate pip install -e . +pip install -r requirements-dev.txt ``` 3. Run tests @@ -54,17 +56,6 @@ pip install -e . python -m unittest discover tests ``` -A conda environment file (`envs/pynteny-dev.yml`) is still provided for -contributors who prefer conda, but it is no longer required. - -## Using GitHub codespaces - -Alternatively, you can directly work on a developer environment in the browser within GitHub's codespaces. To set this environment up: - -1. Fork repository and create new branch for your issue. - -2. Start a new Codespace for the new branch. GitHub will build an environment with all required dependencies as well as pynteny the first time (it will take a couple of minutes). Pynteny will be installed in a conda environment named "pynteny-dev". - ## Building the documentation The documentation is formed by a series of markdown files located in directory [docs](https://github.com/Robaina/Pynteny/tree/main/docs). This repo uses [mkdocs](https://www.mkdocs.org/) to automatically generate documentation pages from markdown files. Also, [MathJax](https://github.com/mathjax/MathJax) syntax is allowed! diff --git a/envs/pynteny-dev.yml b/envs/pynteny-dev.yml deleted file mode 100644 index b8dd3a6..0000000 --- a/envs/pynteny-dev.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: pynteny-dev -channels: - - defaults - - bioconda - - conda-forge -dependencies: - - python >= 3.8 - - poetry >= 1.3 - - pip - - pyfastx >=0.8 - - biopython >= 1.8 - - numpy - - pandas - - psutil >= 5.9 - - requests - - tqdm - - pip: - - pyhmmer >=0.10 - - pyrodigal >=3.0 - - mkdocs - - mkdocs-gen-files - - pymdown-extensions - - mkdocs-jupyter - - mkdocstrings[python] - - ruff - - black - - argmark - - coverage diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..1b16977 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,20 @@ +# Development dependencies for Pynteny. +# Install on top of an editable install of the package: +# pip install -e . +# pip install -r requirements-dev.txt +# +# Runtime dependencies (pyhmmer, pyrodigal, pyfastx, ...) are declared in +# pyproject.toml and installed by `pip install -e .`. + +# Linting / formatting / tests +ruff +black +coverage + +# Documentation +mkdocs +mkdocs-gen-files +pymdown-extensions +mkdocs-jupyter +mkdocstrings[python] +argmark