Skip to content

Commit

Permalink
Use Makefile for development (#48)
Browse files Browse the repository at this point in the history
* Use Makefile for development
* Update pyproject.toml
* Lint fixes
* Minor formatting fix
* Add some ignores
  • Loading branch information
bpepple committed Mar 29, 2024
1 parent bc99054 commit de75083
Show file tree
Hide file tree
Showing 52 changed files with 14,267 additions and 647 deletions.
13 changes: 13 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
*~
!.circleci
dist
.git
.mypy_cache
node_modules
package-lock.json
**/__pycache__
.pytest_cache
.ruff_cache
*test-results*
typings
.venv
2 changes: 1 addition & 1 deletion .github/workflows/ruff.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Ruff
on: [ push, pull_request ]
on: [push, pull_request]
jobs:
ruff:
runs-on: ubuntu-latest
Expand Down
190 changes: 74 additions & 116 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,132 +1,90 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*~
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build
build/
.cache
celerybeat.pid
celerybeat-schedule
*.cover
.coverage
.coverage.*
coverage.xml
develop-eggs/
dist
dist/
.dmypy.json
dmypy.json
.docker-token
docs/_build/
downloads/
eggs/
.DS_Store
*.egg
*.egg-info/
.eggs/
eggs/
.env
.env-*
env/
ENV/
env.bak/
.eslintcache
htmlcov/
.hypothesis/
.idea
.installed.cfg
instance/
.ipynb_checkpoints
ipython_config.py
jspm_packages/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
local_settings.py
*.log
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
MANIFEST
*.mo
monkeytype.sqlite3
.mypy_cache/
node_modules
node_modules/
nosetests.xml
.nox/
.npm
parts/
pip-delete-this-directory.txt
pip-log.txt
pip-wheel-metadata/
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pycache__/
*.py[cod]
*.py,cover
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
.pypirc
.pypi-token
.pyre/
.pytest_cache/
.Python
.python-version
requirements.txt
.ropeproject
.ruff_cache/
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.scrapy
sdist/
share/python-wheels/
__snapshots__
*.so
*.spec
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# vscode
.vscode/
target/
test-results
TODO.md
.tox/
var/
.venv*
venv/
venv.bak/
.webassets-cache
wheels/
6 changes: 1 addition & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
repos:
- repo: https://github.com/asottile/seed-isort-config
rev: v2.2.0
hooks:
- id: seed-isort-config
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.2.1
rev: v0.3.3
hooks:
- id: ruff
- id: ruff-format
16 changes: 16 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
dist
.git
.idea
.mypy_cache
/node_modules
package-lock.json
poetry.lock
__pycache__
.pytest_cache
.ruff_cache
/test-results
.tox
.venv*
CODE_OF_CONDUCT.md
docs
.github
13 changes: 13 additions & 0 deletions .remarkignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
CODE_OF_CONDUCT.md
.git
.github
.idea
.mypy_cache
/node_modules
__pycache__
.pytest_cache
.ruff_cache
/test-results
.tox
.venv*
tests/README.md
105 changes: 105 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
.PHONY: install-deps
## Update pip and install poetry
## @category Install
install-deps:
pip install --upgrade pip
pip install --upgrade poetry
npm install

.PHONY: install
## Install for production
## @category Install
install-prod: install-deps
poetry install --no-root --only-root

.PHONY: install-dev
## Install dev requirements
## @category Install
install-dev: install-deps
poetry install --no-root --only-root --with dev

.PHONY: install-all
## Install with all extras
## @category Install
install-all: install-deps
poetry install --no-root --all-extras

.PHONY: clean
## Clean pycaches
## @category Build
clean:
./bin/clean-pycache.sh

.PHONY: build
## Build package
## @category Build
build:
poetry build

.PHONY: publish
## Publish package to pypi
## @category Deploy
publish:
poetry publish

.PHONY: update
## Update dependencies
## @category Update
update:
./bin/update-deps.sh

## Show version. Use V variable to set version
## @category Update
V :=
.PHONY: version
## Show or set project version
## @category Update
version:
bin/version.sh $(V)

.PHONY: kill-eslint_d
## Kill eslint daemon
## @category Lint
kill-eslint_d:
bin/kill-eslint_d.sh

.PHONY: fix
## Fix front and back end lint errors
## @category Lint
fix: fix-backend

.PHONY: fix-backend
## Fix only backend lint errors
## @category Lint
fix-backend:
./bin/fix-lint-backend.sh

.PHONY: lint
## Lint front and back end
## @category Lint
lint: lint-backend

.PHONY: lint-backend
## Lint the backend
## @category Lint
lint-backend:
./bin/lint-backend.sh

## Test
## @category Test
T :=
.PHONY: test
## Run Tests. Use T variable to run specific tests
## @category Test
test:
./bin/test.sh $(T)

.PHONY: news
## Show recent NEWS
## @category Deploy
news:
head -40 NEWS.md

.PHONY: all

include bin/makefile-help.mk
3 changes: 3 additions & 0 deletions bin/clean-pycache.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash
# remove all pycache dirs
find . -name "__pycache__" -print0 | xargs -0 rm -rf
Loading

0 comments on commit de75083

Please sign in to comment.