@@ -35,139 +35,74 @@ prior to submitting a pull request.
3535 - No test should be dependent on another
3636 - No test should be dependent on secrets/tokens
3737
38-
3938---
4039
41- # Local developer installation
42-
43- The following steps outline how to install this repo for local development.
40+ # Developer installation
4441
4542## Prerequisites
4643
47- ### Clone repo
48-
49- ``` console
50- git clone https://github.com/[ORG NAME]/[REPO NAME]
51-
52- cd [REPO NAME]
53- ```
54-
55- ### Virtual Environment
56-
57- Use a ([ ` venv ` ] ( https://docs.python.org/3/library/venv.html ) ), or equivalent,
58- when working with python projects. Leveraging a ` venv ` will ensure the installed
59- dependency files will not impact other python projects or any system
60- dependencies.
61-
62- ** Windows users** : Depending on your python install you will use ` py ` in place
63- of ` python ` to create the ` venv ` .
44+ - [ ** uv** ] ( https://docs.astral.sh/uv ) >= 0.6.3
6445
65- ** Linux/Mac users** : Replace ` python ` , if needed, with the appropriate call to
66- the desired version while creating the ` venv ` . (e.g. ` python3 ` or ` python3.12 ` )
46+ [ Installation options can be found here.] ( https://docs.astral.sh/uv/getting-started/installation/ )
6747
68- ** All users** : Once inside an active ` venv ` all systems should allow the use of
69- ` python ` for command line instructions. This will ensure you are using the
70- ` venv ` 's python and not the system level python.
48+ Or just use [ pipx] ( https://pypi.org/project/pipx/ )
7149
72- ### Create the ` venv ` :
73-
74- ``` console
75- python -m venv .venv
76- ```
77-
78- Activate the ` venv ` :
79-
80- ``` console
81- # Linux/Mac
82- . .venv/bin/activate
83-
84- # Windows
85- .venv\Scripts\activate
50+ ``` bash
51+ pipx install uv
8652```
8753
88- The command prompt should now have a ` (venv) ` prefix on it. ` python ` will now
89- call the version of the interpreter used to create the ` venv `
9054
91- To deactivate (exit) the ` venv ` :
55+ ### Clone repo
9256
93- ``` console
94- deactivate
57+ ``` bash
58+ git clone https://github.com/[ORG NAME]/[REPO NAME]
9559```
9660
9761---
9862
99- ## Developer Installation Steps
63+ ## Developer Installation Commands
10064
101- ### Install editable library and development requirements
65+ ### 1. Install editable library and development requirements
10266
103- ``` console
104- python -m pip install --editable .[dev,test]
67+ ``` bash
68+ uv sync
10569```
10670
107- ### Install pre-commit [ (see below for details)] ( #pre-commit )
71+ ### 2. Install pre-commit [ (see below for details)] ( #pre-commit )
10872
109- ``` console
73+ ``` bash
11074pre-commit install
11175```
11276
113- ### Install with nox
114-
115- If you have ` nox ` installed with ` pipx ` or in the current venv you can use the
116- following session. This is an alternative to the two steps above.
117-
118- ``` console
119- nox -s install
120- ```
121-
12277---
12378
124- ## Pre-commit and nox tools
79+ ## Nox sessions
12580
126- ### Run pre-commit on all files
81+ This repo uses [ nox] ( https://nox.thea.codes/en/stable/index.html ) to simplify
82+ workflow actions.
12783
128- ``` console
129- pre-commit run --all-files
130- ```
84+ ### Run tests and report coverage (quick):
13185
132- ### Run tests with coverage (quick)
133-
134- ``` console
135- nox -e coverage
86+ ``` bash
87+ nox --session coverage
13688```
13789
138- ### Run tests (slow)
90+ ### Run tests against all supported versions (slow):
13991
140- ``` console
92+ ``` bash
14193nox
14294```
14395
144- ### Build dist
145-
146- ``` console
147- nox -e build
148- ```
149-
150- ---
151-
152- ## Updating dependencies
153-
154- New dependencys can be added to the ` requirements-*.in ` file. It is recommended
155- to only use pins when specific versions or upgrades beyond a certain version are
156- to be avoided. Otherwise, allow ` pip-compile ` to manage the pins in the
157- generated ` requirements-*.txt ` files.
158-
159- Once updated following the steps below, the package can be installed if needed.
160-
161- ### Update the generated files with changes
96+ ### Run pre-commit on all files
16297
163- ``` console
164- nox -e update
98+ ``` bash
99+ nox --session pre_commit
165100```
166101
167- ### Upgrade all generated dependencies
102+ ### Build dist
168103
169- ``` console
170- nox -e upgrade
104+ ``` bash
105+ nox --session build
171106```
172107
173108---
@@ -178,9 +113,3 @@ nox -e upgrade
178113
179114This repo is setup with a ` .pre-commit-config.yaml ` with the expectation that
180115any code submitted for review already passes all selected pre-commit checks.
181-
182- ---
183-
184- ## Error: File "setup.py" not found
185-
186- Update ` pip ` to at least version 22.3.1
0 commit comments