aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml1
-rw-r--r--CHANGELOG.rst2
-rw-r--r--MANIFEST.in2
-rw-r--r--Makefile19
-rw-r--r--dev-requirements.txt6
-rw-r--r--docs/contributing.rst6
-rw-r--r--requirements.txt28
-rw-r--r--setup.cfg42
-rw-r--r--tox.ini12
9 files changed, 37 insertions, 81 deletions
diff --git a/.travis.yml b/.travis.yml
index c18d65f..b3753ea 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,6 +4,7 @@ python:
- "3.5"
- "3.6"
- "3.7"
+ - "3.8"
script: tox
install:
- pip install tox-travis
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 76831cc..e4ecb92 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -9,7 +9,7 @@ This document describes changes between each past release.
- Add support for espanol latino america (es_419)
- Use the external debts lib to solve settlements (#476)
- Remove balance column in statistics view (#323)
-
+- Remove requirements files in favor of setup.cfg pinning (#558)
4.1.3 (2019-09-18)
==================
diff --git a/MANIFEST.in b/MANIFEST.in
index 74ea23b..d47086b 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,3 @@
include *.rst
recursive-include ihatemoney *.rst *.py *.yaml *.po *.mo *.html *.css *.js *.eot *.svg *.woff *.txt *.png *.ini *.cfg *.j2
-include LICENSE CONTRIBUTORS CHANGELOG.rst requirements.txt
+include LICENSE CONTRIBUTORS CHANGELOG.rst
diff --git a/Makefile b/Makefile
index 42b0e26..ae9e46c 100644
--- a/Makefile
+++ b/Makefile
@@ -11,10 +11,10 @@ ZOPFLIPNG := zopflipng
.PHONY: all
all: install ## Alias for install
.PHONY: install
-install: virtualenv $(INSTALL_STAMP) ## Install dependencies
-$(INSTALL_STAMP):
+install: setup.cfg $(INSTALL_STAMP) ## Install dependencies
+$(INSTALL_STAMP): virtualenv
$(VENV)/bin/pip install -U pip
- $(VENV)/bin/pip install -r requirements.txt
+ $(VENV)/bin/pip install -e .
touch $(INSTALL_STAMP)
.PHONY: virtualenv
@@ -23,9 +23,9 @@ $(PYTHON):
$(VIRTUALENV) $(VENV)
.PHONY: install-dev
-install-dev: $(INSTALL_STAMP) $(DEV_STAMP) ## Install development dependencies
-$(DEV_STAMP): $(PYTHON) dev-requirements.txt
- $(VENV)/bin/pip install -Ur dev-requirements.txt
+install-dev: setup.cfg $(INSTALL_STAMP) $(DEV_STAMP) ## Install development dependencies
+$(DEV_STAMP): $(PYTHON)
+ $(VENV)/bin/pip install -Ue .[dev]
touch $(DEV_STAMP)
.PHONY: remove-install-stamp
@@ -76,13 +76,6 @@ create-empty-database-revision: ## Create an empty database revision
@read -p "Please enter a message describing this revision: " rev_message; \
$(PYTHON) -m ihatemoney.manage db revision -d ihatemoney/migrations -m "$${rev_message}"
-.PHONY: build-requirements
-build-requirements: ## Save currently installed packages to requirements.txt
- $(VIRTUALENV) $(TEMPDIR)
- $(TEMPDIR)/bin/pip install -U pip
- $(TEMPDIR)/bin/pip install -Ue "."
- $(TEMPDIR)/bin/pip freeze | grep -v -- '-e' > requirements.txt
-
.PHONY: clean
clean: ## Destroy the virtual environment
rm -rf .venv
diff --git a/dev-requirements.txt b/dev-requirements.txt
deleted file mode 100644
index 9163cf8..0000000
--- a/dev-requirements.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-zest.releaser
-tox
-pytest
-flake8
-Flask-Testing
-black ; python_version >= '3.6'
diff --git a/docs/contributing.rst b/docs/contributing.rst
index b053f8b..5cff063 100644
--- a/docs/contributing.rst
+++ b/docs/contributing.rst
@@ -2,7 +2,7 @@ Contributing
############
Set up a dev environment
-=======================
+========================
You must develop on top of the Git master branch::
@@ -23,10 +23,8 @@ install dependencies, and run the test server.
The hard way
------------
-Alternatively, you can also use the `requirements.txt` file to install the
-dependencies yourself. That would be::
+Alternatively, you can use pip to install dependencies yourself. That would be::
- pip install -r requirements.txt
pip install -e .
And then run the application::
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index d6893e8..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-alembic==1.2.0
-aniso8601==8.0.0
-Babel==2.7.0
-blinker==1.4
-Click==7.0
-debts==0.4
-dnspython==1.16.0
-email-validator==1.0.4
-Flask==1.1.1
-Flask-Babel==0.12.2
-Flask-Cors==3.0.8
-Flask-Mail==0.9.1
-Flask-Migrate==2.5.2
-Flask-RESTful==0.3.7
-Flask-Script==2.0.6
-Flask-SQLAlchemy==2.4.1
-Flask-WTF==0.14.2
-idna==2.8
-itsdangerous==1.1.0
-Jinja2==2.10.1
-Mako==1.1.0
-MarkupSafe==1.1.1
-python-dateutil==2.8.0
-pytz==2019.2
-SQLAlchemy==1.3.8
-SQLAlchemy-Continuum==1.3.9
-Werkzeug==0.16.0
-WTForms==2.2.1
diff --git a/setup.cfg b/setup.cfg
index 8d334e8..571f538 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -14,6 +14,7 @@ classifiers =
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3.8
Topic :: Internet :: WWW/HTTP
Topic :: Internet :: WWW/HTTP :: WSGI :: Application
@@ -22,29 +23,30 @@ packages = find:
include_package_data = True
zip_safe = False
install_requires =
- flask
- flask-wtf
- flask-sqlalchemy<3.0
- SQLAlchemy-Continuum
- flask-mail
- Flask-Migrate
- Flask-script
- flask-babel
- flask-restful
- jinja2
- blinker
- flask-cors
- itsdangerous
- email_validator
- debts
+ blinker==1.4
+ debts==0.5
+ email_validator==1.0.5
+ Flask-Babel==1.0.0
+ Flask-Cors==3.0.8
+ Flask-Mail==0.9.1
+ Flask-Migrate==2.5.3
+ Flask-RESTful==0.3.8
+ Flask-Script==2.0.6
+ Flask-SQLAlchemy==2.4.1
+ Flask-WTF==0.14.3
+ Flask==1.1.2
+ itsdangerous==1.1.0
+ Jinja2==2.11.2
+ SQLAlchemy-Continuum==1.3.9
[options.extras_require]
dev =
- zest.releaser
- tox
- pytest
- flake8
- Flask-Testing
+ black==19.10b0 ; python_version >= '3.6'
+ flake8==3.7.9
+ Flask-Testing==0.8.0
+ pytest==5.4.1
+ tox==3.14.6
+ zest.releaser==6.20.1
[options.entry_points]
console_scripts =
diff --git a/tox.ini b/tox.ini
index 5e6d5e4..b5ff705 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py37,py36,py35,docs,flake8,black
+envlist = py38,py37,py36,py35,docs,flake8,black
skip_missing_interpreters = True
[testenv]
@@ -9,8 +9,7 @@ commands =
py.test --pyargs ihatemoney.tests.tests
deps =
- -rdev-requirements.txt
- -rrequirements.txt
+ -e.[dev]
# To be sure we are importing ihatemoney pkg from pip-installed version
changedir = /tmp
@@ -23,14 +22,10 @@ changedir = {toxinidir}
[testenv:black]
commands = black --check --target-version=py34 .
-deps =
- -rdev-requirements.txt
changedir = {toxinidir}
[testenv:flake8]
commands = flake8 ihatemoney
-deps =
- -rdev-requirements.txt
changedir = {toxinidir}
[flake8]
@@ -43,5 +38,6 @@ extend-ignore =
[travis]
python =
3.5: py35
- 3.6: py36, docs, black, flake8
+ 3.6: py36
3.7: py37
+ 3.8: py38, docs, black, flake8