Skip to content

Commit a2dd336

Browse files
committed
Use pipenv and Pipfile(s) for package management
Configure the repo to use pipenv and pipfiles for package and virtual environment mangement.
1 parent 3d3e9b8 commit a2dd336

File tree

7 files changed

+413
-24
lines changed

7 files changed

+413
-24
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Local Files
22
.envrc
3+
.venv/
34
local/
45

56

Makefile

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,34 +16,37 @@ docs : docs/Makefile
1616

1717
# Local project directory and environment management recipes
1818
.PHONY : init
19-
init : requirements.txt
20-
pip install -r requirements.txt
19+
init : Pipfile
20+
pipenv install --dev --skip-lock
2121

2222
.PHONY : update
23-
update : clean-venv init versioneer.py
23+
update :
24+
pipenv update --dev
25+
pipenv lock -r > requirements.txt
26+
pipenv lock -r --dev > requirements-dev.txt
2427
rm versioneer.py
25-
versioneer install
28+
pipenv run versioneer install
2629

2730

2831
# Local testing recipes
2932
.PHONY : tests
30-
tests: toxtest lint ;
33+
tests: lint toxtest ;
3134

3235
.PHONY : ci
3336
ci :
3437
pytest -m "not ratelimit"
3538

3639
.PHONY : toxtest
37-
toxtest : local/environment.sh tox.ini
38-
source local/environment.sh && tox
40+
toxtest : tox.ini
41+
tox
3942

4043
.PHONY : pytest
41-
pytest : local/environment.sh
42-
source local/environment.sh && pytest -m "not ratelimit"
44+
pytest :
45+
pytest -m "not ratelimit"
4346

4447
.PHONY : pytest-rate-limit
4548
pytest-rate-limit : local/environment.sh
46-
source local/environment.sh && pytest -m "ratelimit"
49+
pytest -m "ratelimit"
4750

4851
.PHONY : lint
4952
lint :
@@ -59,7 +62,10 @@ push :
5962

6063
# Cleaning recipes
6164
.PHONY : clean
62-
clean : cleanbuild cleandocs cleanpytest cleantox ;
65+
clean : cleanbuild cleandocs cleanpytest cleantox clean-dist ;
66+
67+
.PHONY : clean-all
68+
clean-all : clean clean-venv ;
6369

6470
.PHONY : cleanbuild
6571
cleanbuild :
@@ -78,13 +84,10 @@ cleantox : cleanpytest
7884
cleanpytest :
7985
rm -rf ./.cache/
8086

81-
.PHONY : clean-all
82-
clean-all : clean clean-dist ;
83-
8487
.PHONY : clean-dist
8588
clean-dist :
8689
rm -rf ./dist/*
8790

8891
.PHONY : clean-venv
8992
clean-venv :
90-
pip freeze | grep -v "^-e" | xargs pip uninstall -y
93+
pipenv --rm

Pipfile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
[[source]]
2+
3+
url = "https://pypi.python.org/simple"
4+
verify_ssl = true
5+
name = "pypi"
6+
7+
8+
[packages]
9+
10+
"e1839a8" = {path = ".", editable = true}
11+
versioneer = "*"
12+
13+
14+
[dev-packages]
15+
16+
versioneer = "*"
17+
sphinx = "*"
18+
sphinx-rtd-theme = "*"
19+
pytest = "*"
20+
tox = "*"
21+
virtualenv = "*"
22+
"flake8" = "*"
23+
twine = "*"

0 commit comments

Comments
 (0)