GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com β€” GitHub - K-Meech/python-tooling: Python package template for new research software projects

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

526 Commits
526 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
docs
docs
 
 
hooks
hooks
 
 
images
images
 
 
schemas
schemas
 
 
tests
tests
 
 
{{cookiecutter.project_slug}}
{{cookiecutter.project_slug}}
 
 
.all-contributorsrc
.all-contributorsrc
 
 
.gitignore
.gitignore
 
 
.markdownlint.yaml
.markdownlint.yaml
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
.prettierignore
.prettierignore
 
 
.renovaterc.json5
.renovaterc.json5
 
 
.vale.ini
.vale.ini
 
 
CITATION.cff
CITATION.cff
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 
cookiecutter.json
cookiecutter.json
 
 
pyproject.toml
pyproject.toml
 
 
tutorial.md
tutorial.md
 
 

Repository files navigation

UCL ARC Python tooling logo

UCL ARC Python Recommendations

This repository collects the UCL ARC recommendations for a research software project in Python. It contains a template for new Python packages and a website documenting our recommendations. We've turned on discussions for this repo, and we welcome questions there or in the #helpme channel on the UCL research programming hub Slack.

πŸͺ Our template is a cookiecutter template which automatically creates new Python packages with our recommended tooling set up and ready to go.

Note

If you're making a package within a community that has an existing package template (e.g., SciKit-Surgery), we recommend using their template instead of this one.

Using our Python package template

Some quick instructions for using our template are below. We also have a longer tutorial that has been presented in workshops for researchers at UCL.

If you have uv installed, you can use our template with the following command:

uvx cookiecutter gh:ucl-arc/python-tooling --checkout latest

If you don't want to use uv you can install cookiecutter using pip, and run the above command without the leading uvx.

When cookiecutter runs, it will ask you a series of questions to configure your project. Type the answer or hit return without typing anything to use the default option (shown in parenthesis). At the end, it will print some more follow-up information in the terminal for things like creating a remote repository and making a website for your package.

It will have created a directory for your project. You can see the structure with the tree command. In our example we've called our project example-research-software-project:

ls -ltr | tail -n1 # Shows the last directory that was created
tree example-research-software-project

To work on your project, initialise a git repository and install your new package editable mode. You probably want to do this in a virtual environment. The comments show how to do this in uv with uv venv:

cd example-research-software-project
git init
# uv venv
# source .venv/bin/activate
uv sync

Note that uv>=0.6.7 is required to use the --group option.

Contributors

Patrick J. Roddy
Patrick J. Roddy

πŸ€” πŸ› πŸ’» πŸ–‹ πŸ“– πŸ“‹ πŸ“† πŸ’¬ πŸ‘€ πŸ“’ ⚠️
Sam Cunliffe
Sam Cunliffe

πŸ€” πŸ› πŸ’» πŸ–‹ πŸ“– πŸ“‹ πŸ“† πŸ’¬ πŸ‘€ πŸ“’ ⚠️ βœ…
David Stansby
David Stansby

πŸ€” πŸ› πŸ’» πŸ–‹ πŸ“– πŸ“‹ πŸ“† πŸ‘€ ⚠️
Matt Graham
Matt Graham

πŸ› πŸ’» πŸ–‹ πŸ“– 🎨 πŸ“‹ πŸ‘€ πŸ“’ ⚠️ βœ…
sfmig
sfmig

πŸ› πŸ’» πŸ–‹ πŸ‘€ ⚠️
Paul Smith
Paul Smith

πŸ› πŸ’» πŸ–‹ πŸ“– πŸ’¬ πŸ‘€ ⚠️ βœ…
Renovate Bot
Renovate Bot

🚧
ruaridhg
ruaridhg

πŸ› πŸ’» πŸ–‹ πŸ‘€
Miguel Xochicale, PhD
Miguel Xochicale, PhD

πŸ› πŸ’» πŸ–‹ 🎨 πŸ“– πŸ‘€
yidilozdemir
yidilozdemir

πŸ“– ⚠️
Mosè Giordano
Mosè Giordano

πŸ› πŸ“– πŸ‘€
Tom Young
Tom Young

πŸ› πŸ–‹ πŸ‘€
Alessandro Felder
Alessandro Felder

πŸ› πŸ–‹
Adam Tyson
Adam Tyson

πŸ–‹
Will Graham
Will Graham

πŸ–‹ πŸ‘€
nikk-nikaznan
nikk-nikaznan

πŸ–‹
Katie Buntic
Katie Buntic

πŸ–‹
Robert Vickerstaff
Robert Vickerstaff

πŸ“–
David PΓ©rez-SuΓ‘rez
David PΓ©rez-SuΓ‘rez

πŸ’» πŸ’¬
llapira
llapira

πŸ›
pre-commit.ci
pre-commit.ci

🚧
Saransh Chopra
Saransh Chopra

πŸ“– πŸ–‹ 🚧 πŸ‘€ πŸ“’ βœ… πŸ“‹
Andrew Mitchell
Andrew Mitchell

πŸ›
Kimberly Meechan
Kimberly Meechan

πŸ› ️️️️♿️ πŸ‘€ βœ…
James Prime
James Prime

️️️️♿️ πŸ€”
Andrii Tsapko
Andrii Tsapko

️️️️♿️ πŸ’»
James Briant
James Briant

πŸ›
Stella Prins
Stella Prins

πŸ› πŸ“–

About

Python package template for new research software projects

github-pages.arc.ucl.ac.uk/python-tooling/

Resources

Readme
License

Code of conduct

Code of conduct

Contributing

Contributing
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 β€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Γ—600. No cookies required.