Skip to content

Commit

Permalink
#306 Migratie pyproject + GH Actions
Browse files Browse the repository at this point in the history
Fixes #306
  • Loading branch information
JonasGe committed Sep 3, 2024
1 parent 154fb78 commit 0970dce
Show file tree
Hide file tree
Showing 12 changed files with 415 additions and 105 deletions.
3 changes: 3 additions & 0 deletions .github/pr-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
feature: ['feature/*', 'feat/*']
fix: ['bugfix/*', 'fix/*']
test: test/*
22 changes: 22 additions & 0 deletions .github/workflows/pr-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: PR Labeler
on:
pull_request:
types: [opened]
branches:
- 'develop'
- 'epic'

permissions:
contents: read

jobs:
pr-labeler:
permissions:
contents: read # for TimonVS/pr-labeler-action to read config file
pull-requests: write # for TimonVS/pr-labeler-action to add labels in PR
runs-on: ubuntu-latest
steps:
- uses: TimonVS/pr-labeler-action@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/pr-labeler.yml
42 changes: 42 additions & 0 deletions .github/workflows/pyoes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: pyoes

on: [push, pull_request]

env:
PYTHON_VERSION: "3.11"

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '16'

- name: Install dependencies
env:
HATCH_BUILD_NO_HOOKS: true
run: |
pip install pip-tools
pip-sync requirements-ci.txt
pip install -e .
- name: Run checks and tests
run: |
./check_versions.sh
py.test --cov pyoes --cov-report term-missing
- name: Upload coverage to Coveralls
run: coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
14 changes: 0 additions & 14 deletions .travis.yml

This file was deleted.

28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
pyoes: Pyramid OE style
=======================

.. image:: https://travis-ci.org/OnroerendErfgoed/pyoes.png
:target: https://travis-ci.org/OnroerendErfgoed/pyoes
.. image:: https://coveralls.io/repos/OnroerendErfgoed/pyoes/badge.png?branch=master
:target: https://coveralls.io/r/OnroerendErfgoed/pyoes

.. image:: https://readthedocs.org/projects/pyoes/badge/?version=latest
:target: https://readthedocs.org/projects/pyoes/?badge=latest
:alt: Documentation Status
.. image:: https://badge.fury.io/py/pyoes.png
:target: http://badge.fury.io/py/pyoes

Pyoes helps to share layout between different websites and applications of
Onroerend Erfgoed (Flanders Heritage).

More information about this library can be found in the docs `folder`. These can
be build using `Sphinx <http://sphinx-doc.org>`_.

.. code-block:: bash

# activate your virtual env
$ pip install -r requirements-dev.txt
$ cd docs
$ make html
# You can also build a pdf, provided you have the correct latex toolchain installed.
$ make latexpdf
2 changes: 1 addition & 1 deletion check_versions.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

release_version=`grep version setup.py | cut -d\' -f2`
release_version=`grep 'version' pyproject.toml | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'`
versions=(
`node -p -e "require('./npm-packages/pyoes/package.json').version"`
`node -p -e "require('./pyoes/static/package.json').version"`
Expand Down
58 changes: 58 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
version = "0.22.0"
name = "pyoes"
readme = "README.md"
authors = [
{ name = "Flanders Heritage Agency", email = "[email protected]" },
]
description = "pyoes"
requires-python = ">=3.10,<3.12"
keywords = ["pyramid", "sass", "compass", "style", "css", "jinja2", "templates"]
classifiers = [
"Programming Language :: Python",
"Framework :: Pyramid",
]
dependencies = [
"Jinja2==3.1.4",
"MarkupSafe==2.1.3",
"python-dateutil==2.8.2",
"pyramid==2.0.2",
"pyramid-jinja2==2.10"
]

[project.optional-dependencies]

dev = [
"coveralls==3.3.1",
"oe-sphinx-theme==0.4.0",
"pep8==1.7.1",
"pytest==7.4.3",
"pytest-cov==4.1.0",
"Sphinx==7.1.2",
"sphinxcontrib-httpdomain==1.8.1",
"sphinx-rtd-theme==2.0.0",
"sphinxcontrib-plantuml==0.27",
"waitress==2.1.2"
]

[tool.hatch.build.targets.wheel]
# In the wheel we want to have toelatingen_archeologie in the root as a python module.
packages = [
"/pyoes",
]

[project.entry-points."paste.app_factory"]
main = "pyoes:main"

[project.entry-points."pyramid.scaffold"]
pyoes = "pyoes.scaffolds:PyoesTemplate"
pyoesAdmin = "pyoes.scaffolds:PyoesAdminTemplate"
pyoesProces = "pyoes.scaffolds:PyoesProcesTemplate"

[tool.hatch.metadata]
# This allows us to use github links as dependencies
allow-direct-references = true
114 changes: 114 additions & 0 deletions requirements-ci.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
alabaster==0.7.16
# via sphinx
babel==2.16.0
# via sphinx
certifi==2024.8.30
# via requests
charset-normalizer==3.3.2
# via requests
coverage==6.5.0
# via
# coveralls
# pytest-cov
coveralls==3.3.1
docopt==0.6.2
# via coveralls
docutils==0.20.1
# via
# sphinx
# sphinx-rtd-theme
hupper==1.12.1
# via pyramid
idna==3.8
# via requests
imagesize==1.4.1
# via sphinx
iniconfig==2.0.0
# via pytest
jinja2==3.1.4
# via
# pyramid-jinja2
# sphinx
markupsafe==2.1.3
# via
# jinja2
# pyramid-jinja2
oe-sphinx-theme==0.4.0
packaging==24.1
# via
# pytest
# sphinx
pastedeploy==3.1.0
# via plaster-pastedeploy
pep8==1.7.1
plaster==1.1.2
# via
# plaster-pastedeploy
# pyramid
plaster-pastedeploy==1.0.1
# via pyramid
pluggy==1.5.0
# via pytest
pygments==2.18.0
# via sphinx
pyramid==2.0.2
# via pyramid-jinja2
pyramid-jinja2==2.10
pytest==7.4.3
# via pytest-cov
pytest-cov==4.1.0
python-dateutil==2.8.2
requests==2.32.3
# via
# coveralls
# sphinx
setuptools==74.1.0
# via
# pyramid
# zope-deprecation
# zope-interface
six==1.16.0
# via
# python-dateutil
# sphinxcontrib-httpdomain
snowballstemmer==2.2.0
# via sphinx
sphinx==7.1.2
# via
# oe-sphinx-theme
# sphinx-rtd-theme
# sphinxcontrib-httpdomain
# sphinxcontrib-jquery
# sphinxcontrib-plantuml
sphinx-rtd-theme==2.0.0
sphinxcontrib-applehelp==2.0.0
# via sphinx
sphinxcontrib-devhelp==2.0.0
# via sphinx
sphinxcontrib-htmlhelp==2.1.0
# via sphinx
sphinxcontrib-httpdomain==1.8.1
sphinxcontrib-jquery==4.1
# via sphinx-rtd-theme
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-plantuml==0.27
sphinxcontrib-qthelp==2.0.0
# via sphinx
sphinxcontrib-serializinghtml==2.0.0
# via sphinx
translationstring==1.4
# via pyramid
urllib3==2.2.2
# via requests
venusian==3.1.0
# via pyramid
waitress==2.1.2
webob==1.8.8
# via pyramid
zope-deprecation==5.0
# via
# pyramid
# pyramid-jinja2
zope-interface==7.0.3
# via pyramid
Loading

0 comments on commit 0970dce

Please sign in to comment.