Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
7cc93e8
re-import orjson module for json serialization/deserialization (#294)
YiuRULE May 19, 2022
26ff8fc
Fix readme typos (#308)
wbarnha May 25, 2022
00adae7
Faust commits the wrong offset in case of a gap in acks #312 (#313)
s3563602123 Jun 2, 2022
921a089
updating version
patkivikram Jun 2, 2022
db6a3ae
Avoid crash in recovery by pessimistically looking up the earliest ke…
cbrand Jun 7, 2022
1e9d4a5
Fix flake warning with bound loop var (#326)
wbarnha Jul 19, 2022
c4f5b18
If changelog topic partitions are only listed in the actives_tps set …
wbarnha Jul 19, 2022
49574b2
fix twisted link in README.md (#309)
wbarnha Jul 19, 2022
a887571
Fixed filter not acking filtered out messages. (#208)
mdrago98 Jul 19, 2022
0bb2685
Add method to RocksDB for backing up partitions (#304)
wbarnha Jul 19, 2022
9eb770a
Remove a broken link in Readme.md (#332)
sefadegirmenci Aug 3, 2022
04bd278
Correct pypi link, tar filename and path
Aug 5, 2022
9ec1858
Merge pull request #334 from afasseco/fix-pypi-link
wbarnha Aug 5, 2022
5a2ba13
Fix recovery of partitions for large volume writes (#335)
wbarnha Aug 10, 2022
bd1dabb
missing `f` prefix on f-string (#337)
russellpierce Aug 10, 2022
84e444d
Allow rocksdb to accept read_only option in order to share tables amo…
wbarnha Aug 10, 2022
79d672c
add dist.yml for uploading builds to pypi (#338)
wbarnha Aug 11, 2022
681c2c9
Update version to 0.8.7
wbarnha Aug 11, 2022
1e7be3a
adding intervaltree to manage gaps in topics to prevent OOM (#282)
patkivikram Aug 12, 2022
c405dbe
Build wheels for more platforms (#340)
wbarnha Aug 12, 2022
ce53c40
🐛 Add key_index_table to app tables. (#249)
novotl Aug 12, 2022
0f4ce83
set version to v0.8.8
wbarnha Aug 15, 2022
b0f927d
Update links in documentation (#341)
wbarnha Aug 16, 2022
76f720a
Address topics.py error in #175 by callling message.message (#342)
wbarnha Aug 18, 2022
7648c6e
add noqa: B024 to base classes to pass lint check (#344)
wbarnha Aug 29, 2022
284d400
:books: Update github link and copyright (#343)
lsabi Aug 29, 2022
85534ec
fix running `make develop` and restore `pre-commit` tool (#145)
taybin Aug 31, 2022
d0894e1
Prepare repo for posting docs on gh-pages (#346)
wbarnha Sep 1, 2022
6475f8c
Change version to 0.8.9 in preparaion of next release
wbarnha Sep 1, 2022
34d2694
cleanup docs build process and add various improvements (#347)
wbarnha Sep 1, 2022
3680bbd
Add aerospike docs (#348)
wbarnha Sep 2, 2022
ba000ee
Added Aerospike to stores (#350)
wbarnha Sep 2, 2022
2091326
Add improvements to documentation (#351)
wbarnha Sep 4, 2022
e661f7b
Update badges and settingref.txt (#353)
wbarnha Sep 12, 2022
103fb45
Dependency update: click version lower than 8.2 (#352)
wlatanowicz Sep 13, 2022
f4da1e8
update all references of aioeventlet to faust-aioeventlet (#355)
wbarnha Sep 14, 2022
3e4ad8f
update tags to 0.8.10 in preparation of next release (#361)
wbarnha Sep 14, 2022
bbfabae
Update jinja2 requirement from <3.1.0 to <3.2.0 in /requirements (#360)
dependabot[bot] Sep 14, 2022
334fa46
Bump actions/download-artifact from 2 to 3 (#357)
dependabot[bot] Sep 14, 2022
8b4ff3f
Bump github/codeql-action from 1 to 2 (#356)
dependabot[bot] Sep 14, 2022
6802654
Update and revamp CHANGELOG.md (#362)
wbarnha Sep 16, 2022
c0a4571
Remove py3.6 support since EOL'ed (#339)
wbarnha Sep 21, 2022
bc3f533
Fixed autodiscovery of logs (#368)
blazing-gig Sep 22, 2022
06c0b09
Remove more references to 3.6 (#369)
wbarnha Sep 22, 2022
ed6ef04
Remove hardcoded bandit version and add nosecs (#364)
wbarnha Sep 22, 2022
e60fad3
End wheel builds for Windows (#370)
wbarnha Sep 22, 2022
fa5fa81
Bump actions/checkout from 2 to 3 (#371)
dependabot[bot] Sep 28, 2022
c5f28b3
update versioning to 0.8.11 (#374)
wbarnha Oct 3, 2022
347442e
Adding distributed tracing feature (#376)
patkivikram Oct 5, 2022
a2c77a9
include agent stopper (#329)
zerafachris Oct 5, 2022
5790be9
Change default replication factor for producers (#375)
wbarnha Oct 5, 2022
fda5c40
update versioning to 0.9.0 for upcoming release
wbarnha Oct 5, 2022
3c50dd1
Update current badge version to 0.8.11
wbarnha Oct 7, 2022
659e2b7
fix for #378 (#379)
patkivikram Oct 7, 2022
ab1c668
fix for #378 (#380)
patkivikram Oct 10, 2022
0dab360
Unmark *some* Aiokafkaconsumer thread tests (#377)
wbarnha Oct 10, 2022
51bee49
Update test_open_db_for_partition_max_retries to run again (#383)
wbarnha Oct 12, 2022
948dd05
Update version badge to 0.9.0
wbarnha Oct 13, 2022
ecee01b
add variable bound agent example (#388)
joonjeong Oct 24, 2022
94ff38f
Add take_events() function (#392)
nguyentritai2906 Oct 24, 2022
73e4400
Add hopping example (#354)
wbarnha Oct 24, 2022
6a1a940
start testing table.last_closed_window (#391)
wbarnha Oct 24, 2022
fd088f2
bump versioning to 0.9.1 in prep of next release (#394)
wbarnha Oct 25, 2022
1ba6962
Update github pages only on tagged release (#400)
wbarnha Oct 28, 2022
9aba24c
using aiokafka's default partition strategy when table_standy_replica…
patkivikram Oct 28, 2022
52c19a4
bump versions to 0.9.2
wbarnha Oct 31, 2022
33340f8
Don't allow consumers to create topics if not allowed (#403)
wbarnha Nov 1, 2022
90be0cc
Update versions in classifiers
wbarnha Nov 2, 2022
775816c
Use setuptools_scm to automate versioning (#407)
wbarnha Nov 4, 2022
c1398b8
Update badges automatically (#404)
wbarnha Nov 4, 2022
85a649a
Add more logic to aiokafka driver to prevent topics from being create…
wbarnha Nov 4, 2022
e2c0a98
use importlib instead (#408)
wbarnha Nov 4, 2022
458d6d3
Update aiokafka requirement in /requirements (#413)
dependabot[bot] Nov 21, 2022
7bef2a2
version limit mode-streaming while we're working on testing things ou…
wbarnha Nov 21, 2022
ca2e599
Update statsd requirement from ~=3.3.0 to ~=4.0.1 in /requirements (#…
dependabot[bot] Nov 21, 2022
cf397bc
Add support for python3.11 (#366)
wbarnha Nov 29, 2022
7c7fa84
Add get_event_loop_policy() to all get_event_loop() calls (#415)
wbarnha Nov 29, 2022
027808e
add 3.11 to setup.py
wbarnha Nov 30, 2022
ebc7777
Fix args for consumer.send in service example
wbarnha Dec 6, 2022
337cd30
add release back to gh-pages
wbarnha Dec 14, 2022
ae685ef
commit various reformatting (#423)
wbarnha Dec 15, 2022
e541793
Assign blessed_key to metadata if blessed_key is defined (#422)
wbarnha Dec 15, 2022
df8abb7
Update Slack invite link (#425)
wbarnha Dec 21, 2022
a48a7c4
Global global tables (#426)
aoberegg Jan 4, 2023
89b82ab
fix for issue 419 (#420)
patkivikram Jan 4, 2023
c0fde84
Global global tables (#431)
aoberegg Jan 10, 2023
2b8ef5a
fix: set missing loop param for service inits (#436)
Jan 23, 2023
aaadab2
#307: Allow custom headers in self.error view method (#437)
popadi Jan 24, 2023
c20e11c
resolving wrong reference (#438)
Mopsgeschwindigkeit Jan 25, 2023
0af3c8a
fix: set loop for services where missing (#441)
dada-engineer Feb 1, 2023
032294b
switch pages to deploy when release+created
wbarnha Feb 1, 2023
87de598
Fix spelling of NLTK (#445)
jack-mcivor Feb 8, 2023
daf1601
Update pip installs from faust to faust-streaming
wbarnha Feb 16, 2023
8fee113
Update project for flake8 changes (#453)
wbarnha Feb 22, 2023
32ea389
Update pip installs from remaining faust to faust-streaming (#452)
gpapia Feb 22, 2023
e0b7e3a
add OPT_NON_STR_KEYS to orjson (#455)
wbarnha Feb 22, 2023
90898ae
Update Slack invite link
wbarnha Feb 23, 2023
b9f7a42
Update Slack link... again.
wbarnha Feb 23, 2023
7ae9009
Bump actions/upload-artifact from 2 to 3 (#456)
dependabot[bot] Feb 24, 2023
dc8dd31
Update Slack links
wbarnha Mar 2, 2023
a90a763
Remove pytest-openfiles (#464)
wbarnha Mar 11, 2023
50e5066
doc: update testing doc (#467)
thomas-chauvet Mar 16, 2023
9c29611
Add support for rocksdict (#470)
wbarnha Mar 17, 2023
d379f4f
Allow users to specify RocksDB drivers (#472)
wbarnha Mar 17, 2023
5254db2
Update README with rocksdict option
wbarnha Mar 17, 2023
3a6ce25
Bump rocksdict minimum requirement to 0.3.7 (#475)
wbarnha Mar 17, 2023
9fd51e1
Hotfix rocksdict methods (#476)
wbarnha Mar 20, 2023
5c08c27
Bump actions/deploy-pages from 1 to 2 (#477)
dependabot[bot] Mar 20, 2023
d19bd4a
Add unit tests for rocksdict to guarantee reliability (#478)
wbarnha Mar 21, 2023
811e032
use key_may_exist() from rocksdict (#479)
wbarnha Mar 22, 2023
8e75c8e
Fix test case for test_apply_changelog_batch (#480)
wbarnha Mar 22, 2023
96e54a2
Hotfix key_may_exist() (#481)
wbarnha Mar 22, 2023
54dcead
pass use_rocksdict kwarg into RocksDBOptions
wbarnha Mar 22, 2023
2eda612
Lint rocksdb.py
wbarnha Mar 22, 2023
93a052e
Update notes on RocksDB (#483)
wbarnha Mar 23, 2023
0454fce
Update note to RocksDB 8 in README
wbarnha Mar 24, 2023
47ce720
Update note to indicate rocksdict is RocksDB 8
wbarnha Mar 24, 2023
e3f30ac
create constant exception ERRORS_ROCKS_IO_ERROR in case python-rocksd…
wbarnha Mar 29, 2023
99ab4f6
add support for comma separated list of urls (#486)
ofirt-orca Mar 30, 2023
f741fd9
Ack filtered messages when using .take() (#488)
artem-ilin Apr 3, 2023
d9d2d3e
Change requirements to set 3.8.0 as minimum aiohttp version (#490)
wbarnha Apr 7, 2023
ac63372
Fix typo in README
wbarnha Apr 9, 2023
ea5d5b5
Bump rocksdict to 0.3.11 (#492)
wbarnha Apr 10, 2023
26fc9cd
Fix CI/CD pipelines due to deleted codecov wheel (#494)
wbarnha Apr 12, 2023
277c8b8
align default date format with orjson date format (#493)
ofirt-orca Apr 12, 2023
c691c93
Create lint.yml (#499)
wbarnha Apr 27, 2023
b8b8941
rename master to main in lint.yml
wbarnha Apr 27, 2023
deb8963
Set git_no_verify: true in lint.yml
wbarnha Apr 27, 2023
fbba09d
remove lint.yml because maybe it's not such a good idea
wbarnha Apr 27, 2023
4242e20
updating version to 8.0.0 compatible client (#498)
patkivikram Apr 27, 2023
17f111f
Remove extraneous sleep in SetManager.flush (#504)
richardhundt May 24, 2023
67b55dd
End support for Python 3.7 (#508)
wbarnha May 25, 2023
9a1cf92
Use proper regex suggested by setuptools_scm for detecting version (#…
wbarnha May 25, 2023
155e40d
Ensure callback map is rebuilt after reply_to topics are created (#510)
richardhundt Jun 14, 2023
0531715
Fix set operations in `ChangeloggedSet` (#521)
richardhundt Jun 22, 2023
ada6429
Implement OAuthbearer auth mechanism (#525)
cbcoutinho Jun 25, 2023
f79cc16
Fix for current_event not in context during periodic flush (#522)
richardhundt Jun 26, 2023
600d0ae
Update CI/CD workflows, setup config files, and build wheels for Pyth…
wbarnha Jun 26, 2023
7eea54a
Enable PyPy testing (#530)
wbarnha Jun 29, 2023
236516d
Topic: Remove topic with active_partitions from Conductor after (#531)
ostetsenko Jun 30, 2023
ddf27f5
Bump actions/upload-pages-artifact from 1 to 2 (#533)
dependabot[bot] Jul 11, 2023
4a23420
Use rocksdict version >= v0.3.11 (#538)
GodTamIt Jul 27, 2023
87a80a9
Update python-package.yml to test for Python 3.12 (#540)
wbarnha Aug 9, 2023
b5db8a0
fix: ensure aiokafka commit is called with kafka.structs.TopicPartiti…
dada-engineer Aug 14, 2023
e900e54
Bump actions/checkout from 3 to 4 (#546)
dependabot[bot] Sep 5, 2023
648d506
Bump codecov/codecov-action from 3 to 4 (#547)
dependabot[bot] Sep 14, 2023
da90c7c
Revert to codecov/codecov-action@v3 in python-package.yml
wbarnha Sep 29, 2023
3fb3180
Add Python ~3.13 for testing in python-package.yml (#561)
wbarnha Nov 5, 2023
56337d8
Merge branch 'sxmaster' into merge_upstream-06-11-2023
Nov 6, 2023
be9c6d2
fixed test
Nov 6, 2023
5e3cecc
Bump venusian from 3.0.0 to 3.1.0 in /requirements (#562)
dependabot[bot] Nov 7, 2023
ccc062f
Add a TTL for RocksDB store for removing outdated WAL files (#567)
YiuRULE Nov 16, 2023
e31974f
fix: docs Autodetect for schemas (#563)
IbrahimBagalwa Nov 20, 2023
448a7a4
Fix potential NoneType access in aiokafka driver (#569)
GodTamIt Nov 21, 2023
c629e72
Temporarily fix breaking build with setuptools v69 (#571)
somnam Nov 21, 2023
ad8dd0e
Fix AccessType assigninment in rocksdb.py (#575)
wbarnha Nov 27, 2023
58b18a1
Fix races in conductor with dynamic agents (#568)
GodTamIt Nov 27, 2023
ddef30e
Consolidate dynamic attributes for setuptools v69.0.0 and move some m…
wbarnha Nov 27, 2023
2eba690
Fix sdist builds (#577)
wbarnha Nov 29, 2023
6714156
Add project.scripts to fix faust CLI usage (#580)
wbarnha Nov 29, 2023
310eb66
Add description field to pyproject.toml
wbarnha Nov 29, 2023
223b114
Add FastAPI example (#581)
wbarnha Nov 30, 2023
bb643db
Merge branch 'master' into merge_upstream-06-11-2023
Nov 30, 2023
2f59442
Bump actions/deploy-pages from 2 to 3 (#582)
dependabot[bot] Dec 5, 2023
8a5576e
Rename kafka to aiokafka (#565)
AntonOfTheWoods Dec 5, 2023
73be0a2
Lint aiokafka driver
wbarnha Dec 7, 2023
53dfd18
Replace called_once_with test_objects.py for 3.12 support (#586)
wbarnha Dec 8, 2023
3554266
Add official support for Python 3.12 (#587)
wbarnha Dec 9, 2023
1f68fa2
Update aiokafka requirement from <0.9.0,>=0.8.0 to >=0.8.0,<0.10.0 in…
dependabot[bot] Dec 9, 2023
a0de373
Bump actions/setup-python from 4 to 5 (#585)
dependabot[bot] Dec 9, 2023
df20a17
Bump github/codeql-action from 2 to 3 (#588)
dependabot[bot] Dec 14, 2023
0628117
Bump actions/download-artifact from 3 to 4 (#589)
dependabot[bot] Dec 14, 2023
73fe3e1
Bump actions/upload-artifact from 3 to 4 (#590)
dependabot[bot] Dec 14, 2023
66fd6ba
Bump actions/deploy-pages from 3 to 4 (#592)
dependabot[bot] Dec 19, 2023
3812158
Bump actions/upload-pages-artifact from 2 to 3 (#593)
dependabot[bot] Dec 19, 2023
6588a97
Add example for medium/large projects in FastAPI (#595)
hgalytoby Dec 28, 2023
1f1f759
Use `loop.create_task()` for agent tasks (#598)
samtx Jan 3, 2024
e91c55f
Revert to upload-artifact v3 in python-package.yml
wbarnha Jan 3, 2024
37e7a40
Merge remote-tracking branch 'upstream/master' into aiokafka_KIP_345
Jan 9, 2024
4a09533
enable kafka static-partition-assignment (KIP-345) (#600)
Mopsgeschwindigkeit Jan 11, 2024
a4e035b
Merge branch 'master' into aiokafka_KIP_345
Feb 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
*Note*: Before submitting this pull request, please review our [contributing
guidelines](https://fauststream.com/en/latest/contributing.html).
guidelines](https://faust-streaming.github.io/faust/contributing.html).

## Description

Expand Down
36 changes: 16 additions & 20 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
Expand All @@ -9,17 +10,15 @@
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

name: CodeQL
on:
push:
branches: [ master ]
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches: [master]
schedule:
- cron: '19 10 * * 6'

- cron: 19 10 * * 6
jobs:
analyze:
name: Analyze
Expand All @@ -28,33 +27,31 @@ jobs:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'python' ]
language: [python]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed

steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
- name: Autobuild
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -66,6 +63,5 @@ jobs:
#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
47 changes: 47 additions & 0 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
name: Pages
on:
push:
branches: [master]
pull_request:
branches: [master]
release:
types: [created]
branches: [master]
jobs:
build:
name: Build docs
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v5
- uses: actions/checkout@v4
with:
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- name: Install runtime dependencies
run: |
pip install .
pip install -r requirements/docs.txt
- name: Install doc build deps and build with Sphinx
run: make docs
- name: Upload artifacts
uses: actions/upload-pages-artifact@v3
with:
# Upload built docs
path: ./Documentation
deploy:
name: Deploy docs
if: github.event_name == 'release' && github.event.action == 'created'
needs: build
runs-on: ubuntu-latest
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/deploy-pages@v4
id: deployment
name: Deploy to GitHub Pages
156 changes: 130 additions & 26 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,143 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Python package

---
name: CI/CD
on:
push:
branches: ["master"]
branches: [master]
pull_request:
branches: ["master"]
branches: [master]
release:
types: [created]
branches: [master]
env:
FORCE_COLOR: '1' # Make tools pretty.
PIP_DISABLE_PIP_VERSION_CHECK: '1'
PIP_NO_PYTHON_VERSION_WARNING: '1'
PYTHON_LATEST: '3.12'

# For re-actors/checkout-python-sdist
sdist-artifact: python-package-distributions
jobs:
tests:
name: "Python ${{ matrix.python-version }}/Cython: ${{ matrix.use-cython }}"
runs-on: "ubuntu-latest"

lint:
name: Check linting
runs-on: ubuntu-latest
steps:
- name: Checkout project
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_LATEST }}
cache: pip
- run: |
python -m pip install build
python -m pip install -r requirements/test.txt
name: Install core libraries for build and install
- name: Run linting checks
run: scripts/check
test-pytest:
name: 'Python ${{ matrix.python-version }}/Cython: ${{ matrix.use-cython }}'
runs-on: ubuntu-latest
timeout-minutes: 10 # Maybe we should remove this someday but the PyPy tests are acting strange
strategy:
# Complete all jobs even if one fails, allows us to see
# for example if a test fails only when Cython is enabled
fail-fast: false
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
use-cython: ["true", "false"]
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
use-cython: ['true', 'false']
experimental: [false]
include:
- python-version: 'pypy3.9'
use-cython: false
experimental: true
- python-version: ~3.13.0-0
experimental: true
use-cython: false
env:
USE_CYTHON: ${{ matrix.use-cython }}

continue-on-error: ${{ matrix.experimental }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: requirements/test.txt
- name: Install dependencies
run: |
pip install -r requirements/test.txt
pip install .
- name: Run tests
run: scripts/tests
- name: Enforce coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
check: # This job does nothing and is only used for the branch protection
name: ✅ Ensure the required checks passing
if: always()
needs: [lint, test-pytest]
runs-on: ubuntu-latest
steps:
- uses: "actions/checkout@v2"
- uses: "actions/setup-python@v2"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install dependencies"
run: "scripts/install"
- name: "Run linting checks"
run: "scripts/check"
- name: "Run tests"
run: "scripts/tests"
- name: "Enforce coverage"
run: "scripts/coverage"
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
build_wheels:
name: 📦 Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: check
if: github.event_name == 'release' && github.event.action == 'created'
strategy:
matrix:
os: [ubuntu-20.04, macos-11]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build wheels
uses: pypa/cibuildwheel@v2.10.1
- uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
build_sdist:
name: 📦 Build the source distribution
runs-on: ubuntu-latest
needs: check
if: github.event_name == 'release' && github.event.action == 'created'
steps:
- uses: actions/checkout@v4
name: Checkout source repository
with:
fetch-depth: 0
- uses: actions/setup-python@v5
- name: Build sdist
run: >
pip3 install pkgconfig cython --upgrade &&
python3 setup.py sdist
- uses: actions/upload-artifact@v4
name: Upload build artifacts
with:
path: dist/*.tar.gz
publish:
name: 📦 Publish to PyPI
runs-on: ubuntu-latest
needs: [build_wheels, build_sdist]
permissions:
id-token: write
environment: pypi
if: github.event_name == 'release' && github.event.action == 'created'
steps:
- name: Download the sdist artifact
uses: actions/download-artifact@v4
with:
name: artifact
path: dist
- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
26 changes: 26 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# See https://pre-commit.com/ for usage and config
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
hooks:
- id: check-case-conflict
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files

# - repo: local
# hooks:
# # - id: black
# # name: black
# # stages: [commit]
# # language: system
# # entry: black
# # types: [python]
# # files: .*\.py$
#
# - id: flake8
# name: flake8
# stages: [commit]
# language: system
# entry: flake8
# types: [python]
Loading