Skip to content

Commit fba8c5d

Browse files
Release 0.1.0
1 parent 59e4370 commit fba8c5d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+3469
-833
lines changed

.github/workflows/main.yml

Lines changed: 26 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,35 @@
1-
# This is a basic workflow to help you get started with Actions
1+
name: CI
22

3-
name: Test Suite
4-
5-
# Controls when the action will run.
63
on:
7-
# Triggers the workflow on push or pull request events but only for the master branch
84
push:
9-
branches: [ master ]
5+
branches:
6+
- master
107
pull_request:
11-
branches: [ master ]
12-
13-
# Allows you to run this workflow manually from the Actions tab
14-
workflow_dispatch:
158

169
jobs:
17-
test:
18-
runs-on: ${{ matrix.os }}
19-
strategy:
20-
matrix:
21-
os: [ubuntu-latest, windows-latest, macOS-latest]
22-
python-version: [ '3.6', '3.7', '3.8', '3.9', '3.10']
10+
build:
11+
runs-on: ubuntu-20.04
2312

2413
steps:
2514
- uses: actions/checkout@v2
26-
- name: Set up Python ${{ matrix.python-version }}
27-
uses: actions/setup-python@v2
28-
with:
29-
python-version: ${{ matrix.python-version }}
30-
31-
- name: Install Test dependencies
32-
run: |
33-
python -m pip install --upgrade pip
34-
pip install pytest mock
35-
- name: Test with pytest
36-
run: |
37-
pytest
38-
39-
# # to be done: https://github.com/marketplace/actions/coveralls-python#coveragepy-configuration
40-
# coveralls_finish:
41-
# needs: test
42-
# runs-on: ubuntu-latest
43-
# steps:
44-
# - name: Coveralls Finished
45-
# uses: AndreMiras/coveralls-python-action@develop
46-
# with:
47-
# parallel-finished: true
15+
16+
- name: Build broker
17+
run: docker-compose build app
18+
19+
- name: Install python packages
20+
run: docker-compose run --rm app poetry install
21+
22+
- name: Check your installed dependencies for security vulnerabilities
23+
run: docker-compose run --rm app poetry check
24+
25+
- name: Test
26+
run: docker-compose run --rm app poetry run pytest
27+
28+
- name: Flake8
29+
run: docker-compose run --rm app poetry run flake8 arend
30+
31+
- name: MyPy
32+
run: docker-compose run --rm app poetry run mypy arend --no-strict-optional --ignore-missing-imports
33+
34+
- name: Remove Services
35+
run: docker-compose down

.gitignore

Lines changed: 82 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,98 @@
1-
# From https://github.com/github/gitignore/blob/master/Python.gitignore
1+
### Python ###
2+
# Byte-compiled / optimized / DLL files
3+
__pycache__/
4+
*.py[cod]
5+
*$py.class
26

3-
# env vars
4-
.env
7+
# C extensions
8+
*.so
59

6-
# Pyc/pyo files.
7-
*.py[co]
8-
9-
# Packages
10-
*.egg
11-
*.egg-info
12-
dist
13-
build
14-
eggs
15-
parts
16-
bin
17-
var
18-
sdist
19-
develop-eggs
10+
# Distribution / packaging
11+
.Python
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
pip-wheel-metadata/
24+
share/python-wheels/
25+
*.egg-info/
2026
.installed.cfg
21-
.venv
22-
venv
27+
*.egg
28+
static_build_files/
29+
30+
# PyInstaller
31+
# Usually these files are written by a python script from a template
32+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
33+
*.manifest
34+
*.spec
2335

2436
# Installer logs
2537
pip-log.txt
38+
pip-delete-this-directory.txt
39+
40+
# eventual secrets file used in dynaconf (these usually contain passwords which should not be stored in the version control system)
41+
.secrets.*
2642

2743
# Unit test / coverage reports
44+
htmlcov/
45+
.tox/
46+
.nox/
47+
.coverage
48+
.coverage.*
49+
.cache
2850
nosetests.xml
2951
coverage.xml
30-
.coverage
31-
htmlcov
52+
*.cover
53+
.hypothesis/
54+
.pytest_cache/
55+
56+
# Flask:
57+
instance/
58+
.webassets-cache
3259

33-
#Translations
34-
# *.mo
35-
# ^^^ No, django needs the .mo files as it doesn't compile them on the fly.
60+
# Jupyter Notebook
61+
.ipynb_checkpoints
3662

37-
#Mr Developer
38-
.mr.developer.cfg
39-
src
63+
# IPython
64+
profile_default/
65+
ipython_config.py
4066

41-
# Ignore generated config files
42-
etc/*.nginx.conf
43-
etc/*.logrotate
67+
# pyenv
68+
.python-version
69+
70+
# Environments
71+
# files created with the virtual environment (these are dependent on the developer environment so they should not be stored in the version control system)
72+
.venv
73+
env/
74+
venv/
75+
ENV/
76+
env.bak/
77+
venv.bak/
4478

45-
# Ignore ide's
46-
.idea/
47-
.vscode
79+
# files related with IDE VSC or IntelliJ
80+
.idea/*
81+
.vscode/*
82+
**/.password
83+
### VisualStudioCode Patch ###
84+
# Ignore all local history of files
85+
.history
4886

49-
# ignore docs
50-
docs/_*
5187

52-
notebooks
53-
*.ipynb
88+
**/__pycache__
89+
# db config file
90+
odi_db_config.yml
91+
config/db_config.yml
92+
design/.DS_Store
93+
.DS_Store
94+
flake8.txt
95+
.dockerignore
96+
/source/
97+
/docs/_build/
98+
/.devcontainer/

.pre-commit-config.yaml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
11
default_language_version:
22
python: python3
3+
34
repos:
4-
- repo: https://github.com/pre-commit/mirrors-isort
5-
rev: 'v4.3.21'
6-
hooks:
7-
- id: isort
8-
exclude: 'settings'
95
- repo: https://github.com/ambv/black
10-
rev: stable
6+
rev: 22.6.0
117
hooks:
128
- id: black
13-
exclude: 'setup.py'
149
args: [--line-length=79]
1510
- repo: https://github.com/pre-commit/pre-commit-hooks
1611
rev: v2.3.0
1712
hooks:
1813
- id: check-merge-conflict
1914
- id: check-yaml
15+
- id: check-json
16+
- id: check-toml
17+
- id: end-of-file-fixer
18+
- id: mixed-line-ending
2019
- id: flake8
21-
# NB The "exclude" setting in setup.cfg is ignored by pre-commit
22-
# exclude: '|'
20+
- repo: https://github.com/pre-commit/mirrors-mypy
21+
rev: v0.971
22+
hooks:
23+
- id: mypy
24+
files: ^arend/
25+
args: [--no-strict-optional, --ignore-missing-imports]

.readthedocs.yml

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,20 @@
55
# Required
66
version: 2
77

8+
build:
9+
os: ubuntu-20.04
10+
tools:
11+
python: '3.10'
12+
jobs:
13+
post_install:
14+
- pip install poetry==1.2.0b1
15+
- poetry config virtualenvs.create false
16+
- poetry install --with doc
17+
818
# Build documentation in the docs/ directory with Sphinx
919
sphinx:
1020
configuration: docs/conf.py
11-
fail_on_warning: false
12-
13-
# Build documentation with MkDocs
14-
#mkdocs:
15-
# configuration: mkdocs.yml
1621

1722
# Optionally build your docs in additional formats such as PDF and ePub
1823
formats:
1924
- pdf
20-
21-
python:
22-
version: 3.7
23-
# use system_packages for numpy; the rest is mocked by autodoc_mock_imports
24-
system_packages: true
25-
install:
26-
- method: setuptools
27-
path: . # setup.py includes a hack that emulates --no-deps for RTD

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Changelog
2+
===================================
3+
4+
0.0.1 (2022-XX-XX)
5+
-------------------
6+
7+
- Initial project structure.
8+
9+
- Test suite.

CHANGES.rst

Lines changed: 0 additions & 10 deletions
This file was deleted.

Dockerfile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
FROM python:3.10.2
2+
3+
LABEL maintainer="Jose-Maria Vazquez-Jimenez"
4+
RUN apt-get update
5+
6+
# Set timezone, not really necessary...
7+
ENV TZ=Europe/Amsterdam
8+
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
9+
10+
# install basic python packages: setuptools, pip3, virtualenv
11+
RUN pip3 install --upgrade setuptools && pip3 install pip virtualenv
12+
13+
# Let's go with poetry...
14+
ENV POETRY_VERSION=1.1.13 VENV_PATH="/code/.venv" POETRY_HOME="/opt/poetry"
15+
RUN curl -sSL https://install.python-poetry.org | python3 - --version $POETRY_VERSION
16+
ENV PATH="$POETRY_HOME/bin:$VENV_PATH/bin:$PATH"
17+
18+
VOLUME /code
19+
WORKDIR /code

LICENSE

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2021
3+
Copyright (c) 2021, Python Retry.
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal
@@ -14,8 +14,8 @@ copies or substantial portions of the Software.
1414

1515
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1616
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17+
FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
1818
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1919
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2020
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
21+
SOFTWARE.

MANIFEST.in

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)