maskops 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- maskops-0.1.0/.github/workflows/ci.yml +87 -0
- maskops-0.1.0/.gitignore +8 -0
- maskops-0.1.0/Cargo.lock +2154 -0
- maskops-0.1.0/Cargo.toml +20 -0
- maskops-0.1.0/PKG-INFO +167 -0
- maskops-0.1.0/README.md +152 -0
- maskops-0.1.0/benchmarks/benchmark.py +107 -0
- maskops-0.1.0/file_tree.ini +15 -0
- maskops-0.1.0/maskops/__init__.py +90 -0
- maskops-0.1.0/maskops/maskops.pdb +0 -0
- maskops-0.1.0/pyproject.toml +27 -0
- maskops-0.1.0/src/lib.rs +51 -0
- maskops-0.1.0/src/patterns/iban.rs +32 -0
- maskops-0.1.0/src/patterns/mod.rs +24 -0
- maskops-0.1.0/src/patterns/vat.rs +33 -0
- maskops-0.1.0/tests/generate_fixtures.py +62 -0
- maskops-0.1.0/tests/test_masking.py +81 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
schedule:
|
|
9
|
+
# Runs every Monday at 08:00 UTC — catches upstream breaking changes
|
|
10
|
+
- cron: "0 8 * * 1"
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
test:
|
|
14
|
+
name: Test (${{ matrix.os }} / Python ${{ matrix.python-version }})
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
|
|
17
|
+
strategy:
|
|
18
|
+
fail-fast: false
|
|
19
|
+
matrix:
|
|
20
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
21
|
+
python-version: ["3.10", "3.11", "3.12"]
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- name: Checkout
|
|
25
|
+
uses: actions/checkout@v4
|
|
26
|
+
|
|
27
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
28
|
+
uses: actions/setup-python@v5
|
|
29
|
+
with:
|
|
30
|
+
python-version: ${{ matrix.python-version }}
|
|
31
|
+
|
|
32
|
+
- name: Set up Rust
|
|
33
|
+
uses: dtolnay/rust-toolchain@stable
|
|
34
|
+
|
|
35
|
+
- name: Cache Rust dependencies
|
|
36
|
+
uses: Swatinem/rust-cache@v2
|
|
37
|
+
|
|
38
|
+
- name: Create virtualenv
|
|
39
|
+
run: python -m venv .venv
|
|
40
|
+
|
|
41
|
+
- name: Install Python dependencies (Unix)
|
|
42
|
+
if: runner.os != 'Windows'
|
|
43
|
+
run: |
|
|
44
|
+
source .venv/bin/activate
|
|
45
|
+
pip install maturin faker polars pytest
|
|
46
|
+
|
|
47
|
+
- name: Install Python dependencies (Windows)
|
|
48
|
+
if: runner.os == 'Windows'
|
|
49
|
+
run: |
|
|
50
|
+
.venv\Scripts\activate
|
|
51
|
+
pip install maturin faker polars pytest
|
|
52
|
+
|
|
53
|
+
- name: Build extension (Unix)
|
|
54
|
+
if: runner.os != 'Windows'
|
|
55
|
+
run: |
|
|
56
|
+
source .venv/bin/activate
|
|
57
|
+
maturin develop --release
|
|
58
|
+
|
|
59
|
+
- name: Build extension (Windows)
|
|
60
|
+
if: runner.os == 'Windows'
|
|
61
|
+
run: |
|
|
62
|
+
.venv\Scripts\activate
|
|
63
|
+
maturin develop --release
|
|
64
|
+
|
|
65
|
+
- name: Generate test fixtures (Unix)
|
|
66
|
+
if: runner.os != 'Windows'
|
|
67
|
+
run: |
|
|
68
|
+
source .venv/bin/activate
|
|
69
|
+
python tests/generate_fixtures.py
|
|
70
|
+
|
|
71
|
+
- name: Generate test fixtures (Windows)
|
|
72
|
+
if: runner.os == 'Windows'
|
|
73
|
+
run: |
|
|
74
|
+
.venv\Scripts\activate
|
|
75
|
+
python tests/generate_fixtures.py
|
|
76
|
+
|
|
77
|
+
- name: Run tests (Unix)
|
|
78
|
+
if: runner.os != 'Windows'
|
|
79
|
+
run: |
|
|
80
|
+
source .venv/bin/activate
|
|
81
|
+
pytest tests/ -v
|
|
82
|
+
|
|
83
|
+
- name: Run tests (Windows)
|
|
84
|
+
if: runner.os == 'Windows'
|
|
85
|
+
run: |
|
|
86
|
+
.venv\Scripts\activate
|
|
87
|
+
pytest tests/ -v
|