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

Adopt the template for applications

Open
#556 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Currently, the template is really focused on libraries, not on end-user software, such as ML or data analysis pipelines, web portals, scripts, etc. Researchers are more frequently starting a new end-user project than a library.

There are usually different expectations from end-user software than from a library: the environment should be reproducible, e.g., require some sort of a lock file; package data setup may be required; Dockerfile or entry points usually should be set up. I think the next "big thing" for PPT may be support for projects like that, while we can use in-house end-user projects to test it, e.g., hyrax (which, of course, is a library, but also a user-level script), hats-import scripts, "cone search v2.0", and individual team members' projects (I'd be happy to test it with uncle-val).

I propose to use uv for the lock file and tooling support, which makes it easy to manage virtual environments and gives a consistent way of running Python tools and commands via, e.g., uv run pytest and uv run python -m my-module.

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

Start by examining the current library-focused template and the end-user workflows named in the issue, including hyrax and hats-import. Assess how uv-managed lock files, reproducible environments, package data setup, Dockerfile support, and entry points should fit; done means an agreed template design for these application projects.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.