Skip to content

Add uv install options, migrate setup.py to pyproject.toml - #68

Merged
jeonggyukim merged 3 commits into
masterfrom
uv-install-support
Jul 21, 2026
Merged

Add uv install options, migrate setup.py to pyproject.toml#68
jeonggyukim merged 3 commits into
masterfrom
uv-install-support

Conversation

@jeonggyukim

Copy link
Copy Markdown
Owner

Summary

Adds support for installing pyathena with uv alongside the existing conda + pip flow, without dropping conda. The README now documents three installation options:

  1. conda + pip — as before, but pip install -e . --no-deps
  2. conda + uvuv pip install -e . --no-deps, faster editable resolve
  3. uv only (no conda)uv venv + uv pip install -e ., all dependencies from PyPI

Changes

  • Migrate package metadata and dependencies from setup.py to pyproject.toml; delete setup.py.
  • Port the dependency list from env.yml into pyproject.toml [project.dependencies].
  • Rewrite the README install section with the three options and a shared sanity check.

Why --no-deps on the conda paths

setup.py declared no dependencies, so pip install -e . installed only the pyathena package and relied on conda (env.yml) for everything else. Declaring dependencies in pyproject.toml is what lets the uv-only path resolve them from PyPI. To keep the conda paths behaving as before — and to avoid pip pulling PyPI wheels over conda-provided binaries such as healpy and netCDF4 — the conda paths now pass --no-deps.

env.yml is unchanged; it remains the dependency source for the conda paths.

Notes

  • uv is not installed in the dev environment used here, so Option 3 was not executed end to end; the commands are standard uv usage.

🤖 Generated with Claude Code

Support three installation paths so users can choose between conda and uv
without dropping conda:

  1. conda + pip
  2. conda + uv
  3. uv only (no conda)

Move package metadata and dependencies from setup.py into pyproject.toml.
setup.py declared no dependencies because conda (env.yml) supplied them, so
pip/uv installed only the pyathena package. Declaring dependencies in
pyproject.toml lets the uv-only path resolve them from PyPI, while the conda
paths use --no-deps so pip does not reinstall packages conda already provided
as binaries (healpy, netCDF4, and similar).

env.yml is kept unchanged for the conda paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jeonggyukim
jeonggyukim requested a review from ltlancas July 20, 2026 15:01
jeonggyukim and others added 2 commits July 21, 2026 00:04
Document how to remove the package alone, the whole conda environment, and
the uv-only .venv, matching the three installation options.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Use *.egg-info so any distribution name is ignored, and ignore uv/venv
environments created in the project directory.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jeonggyukim
jeonggyukim merged commit 08b509f into master Jul 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant