lincc-frameworks / lincc-frameworks/python-project-template

Bundle dependency requirements with release

Open
#469 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Jinja
Stars
85
Forks
16
Avg merge
6h 18m
Merged PRs (30d)
1

Description

We might want to include in the source distribution a locked file of requirements (e.g. `requirements.txt` file with all the transitive dependencies that were proven to function at the time of publishing). This file is not intended for use by the common user but it is useful, e.g., when we rely on deployments on Kubernetes clusters (especially because when pods die&restart they tend to update dependencies automatically, which can cause mismatches in dependency versions).

This change was introduced for [`hipscat-import`](https://github.com/astronomy-commons/hipscat-import/pull/381) and could be bubbled up to the PPT.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the dependency-locking change in hipscat-import pull request 381, then inspect how this template builds its source distribution. Add a requirements file containing the proven transitive dependencies to the published source distribution, and verify that it is available for deployment scenarios such as Kubernetes restarts.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, release
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.