xlsxturbo 0.7.0__tar.gz → 0.8.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.
- xlsxturbo-0.8.0/.github/dependabot.yml +15 -0
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/.github/workflows/ci.yml +2 -2
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/.github/workflows/release.yml +8 -8
- xlsxturbo-0.8.0/BUILD.md +191 -0
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/CHANGELOG.md +24 -1
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/Cargo.lock +59 -87
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/Cargo.toml +4 -3
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/PKG-INFO +70 -6
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/README.md +68 -4
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/pyproject.toml +1 -1
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/python/xlsxturbo/__init__.pyi +27 -1
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/src/lib.rs +288 -347
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/src/main.rs +26 -6
- xlsxturbo-0.7.0/tests/test_v060_features.py → xlsxturbo-0.8.0/tests/test_features.py +237 -12
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/.gitignore +0 -0
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/LICENSE +0 -0
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/ROADMAP.md +0 -0
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/benchmark.py +0 -0
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/benchmark_parallel.py +0 -0
- {xlsxturbo-0.7.0 → xlsxturbo-0.8.0}/python/xlsxturbo/__init__.py +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
# Rust dependencies (Cargo.toml)
|
|
4
|
+
- package-ecosystem: "cargo"
|
|
5
|
+
directory: "/"
|
|
6
|
+
schedule:
|
|
7
|
+
interval: "weekly"
|
|
8
|
+
open-pull-requests-limit: 5
|
|
9
|
+
|
|
10
|
+
# GitHub Actions
|
|
11
|
+
- package-ecosystem: "github-actions"
|
|
12
|
+
directory: "/"
|
|
13
|
+
schedule:
|
|
14
|
+
interval: "weekly"
|
|
15
|
+
open-pull-requests-limit: 3
|
|
@@ -13,7 +13,7 @@ jobs:
|
|
|
13
13
|
test:
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
15
|
steps:
|
|
16
|
-
- uses: actions/checkout@
|
|
16
|
+
- uses: actions/checkout@v6
|
|
17
17
|
|
|
18
18
|
- name: Set up Rust
|
|
19
19
|
uses: dtolnay/rust-toolchain@stable
|
|
@@ -27,7 +27,7 @@ jobs:
|
|
|
27
27
|
lint:
|
|
28
28
|
runs-on: ubuntu-latest
|
|
29
29
|
steps:
|
|
30
|
-
- uses: actions/checkout@
|
|
30
|
+
- uses: actions/checkout@v6
|
|
31
31
|
|
|
32
32
|
- name: Set up Rust
|
|
33
33
|
uses: dtolnay/rust-toolchain@stable
|
|
@@ -17,9 +17,9 @@ jobs:
|
|
|
17
17
|
matrix:
|
|
18
18
|
target: [x86_64, aarch64]
|
|
19
19
|
steps:
|
|
20
|
-
- uses: actions/checkout@
|
|
20
|
+
- uses: actions/checkout@v6
|
|
21
21
|
|
|
22
|
-
- uses: actions/setup-python@
|
|
22
|
+
- uses: actions/setup-python@v6
|
|
23
23
|
with:
|
|
24
24
|
python-version: '3.11'
|
|
25
25
|
|
|
@@ -44,9 +44,9 @@ jobs:
|
|
|
44
44
|
matrix:
|
|
45
45
|
target: [x64]
|
|
46
46
|
steps:
|
|
47
|
-
- uses: actions/checkout@
|
|
47
|
+
- uses: actions/checkout@v6
|
|
48
48
|
|
|
49
|
-
- uses: actions/setup-python@
|
|
49
|
+
- uses: actions/setup-python@v6
|
|
50
50
|
with:
|
|
51
51
|
python-version: '3.11'
|
|
52
52
|
architecture: ${{ matrix.target }}
|
|
@@ -70,9 +70,9 @@ jobs:
|
|
|
70
70
|
matrix:
|
|
71
71
|
target: [x86_64, aarch64]
|
|
72
72
|
steps:
|
|
73
|
-
- uses: actions/checkout@
|
|
73
|
+
- uses: actions/checkout@v6
|
|
74
74
|
|
|
75
|
-
- uses: actions/setup-python@
|
|
75
|
+
- uses: actions/setup-python@v6
|
|
76
76
|
with:
|
|
77
77
|
python-version: '3.11'
|
|
78
78
|
|
|
@@ -93,7 +93,7 @@ jobs:
|
|
|
93
93
|
sdist:
|
|
94
94
|
runs-on: ubuntu-latest
|
|
95
95
|
steps:
|
|
96
|
-
- uses: actions/checkout@
|
|
96
|
+
- uses: actions/checkout@v6
|
|
97
97
|
|
|
98
98
|
- name: Build sdist
|
|
99
99
|
uses: PyO3/maturin-action@v1
|
|
@@ -120,7 +120,7 @@ jobs:
|
|
|
120
120
|
id-token: write # Required for trusted publishing
|
|
121
121
|
steps:
|
|
122
122
|
- name: Download all wheels
|
|
123
|
-
uses: actions/download-artifact@
|
|
123
|
+
uses: actions/download-artifact@v7
|
|
124
124
|
with:
|
|
125
125
|
pattern: wheels-*
|
|
126
126
|
path: dist
|
xlsxturbo-0.8.0/BUILD.md
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Build & Release Guide
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
- Rust toolchain (stable): https://rustup.rs/
|
|
6
|
+
- Python 3.8+
|
|
7
|
+
- maturin: `pip install maturin`
|
|
8
|
+
|
|
9
|
+
## Local Development
|
|
10
|
+
|
|
11
|
+
### Setup
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Clone and enter directory
|
|
15
|
+
git clone https://github.com/tstone-1/xlsxturbo.git
|
|
16
|
+
cd xlsxturbo
|
|
17
|
+
|
|
18
|
+
# Install in development mode
|
|
19
|
+
pip install -e ".[dev]"
|
|
20
|
+
# Or with maturin:
|
|
21
|
+
maturin develop --release
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Running Tests
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Rust unit tests
|
|
28
|
+
cargo test
|
|
29
|
+
|
|
30
|
+
# Python integration tests
|
|
31
|
+
python tests/test_features.py
|
|
32
|
+
|
|
33
|
+
# Or with pytest
|
|
34
|
+
pytest tests/
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Code Quality Checks
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Format check (must pass before commit)
|
|
41
|
+
cargo fmt --check
|
|
42
|
+
|
|
43
|
+
# Linter (must pass with no warnings)
|
|
44
|
+
cargo clippy -- -D warnings
|
|
45
|
+
|
|
46
|
+
# Format code (if check fails)
|
|
47
|
+
cargo fmt
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Pre-Push Checklist
|
|
51
|
+
|
|
52
|
+
Before pushing to main or creating a PR, verify all checks pass locally:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# 1. Format check
|
|
56
|
+
cargo fmt --check
|
|
57
|
+
|
|
58
|
+
# 2. Linter (no warnings)
|
|
59
|
+
cargo clippy -- -D warnings
|
|
60
|
+
|
|
61
|
+
# 3. Rust tests
|
|
62
|
+
cargo test
|
|
63
|
+
|
|
64
|
+
# 4. Build release
|
|
65
|
+
maturin develop --release
|
|
66
|
+
|
|
67
|
+
# 5. Python tests
|
|
68
|
+
python tests/test_features.py
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
All 5 steps must succeed before pushing.
|
|
72
|
+
|
|
73
|
+
## Release Process
|
|
74
|
+
|
|
75
|
+
### 1. Update Version
|
|
76
|
+
|
|
77
|
+
Update version in both files (must match):
|
|
78
|
+
|
|
79
|
+
- `Cargo.toml`: `version = "X.Y.Z"`
|
|
80
|
+
- `pyproject.toml`: `version = "X.Y.Z"`
|
|
81
|
+
|
|
82
|
+
Follow SemVer:
|
|
83
|
+
- MAJOR: Breaking API changes
|
|
84
|
+
- MINOR: New features (backward compatible)
|
|
85
|
+
- PATCH: Bug fixes (backward compatible)
|
|
86
|
+
|
|
87
|
+
### 2. Update CHANGELOG.md
|
|
88
|
+
|
|
89
|
+
Add entry for new version with:
|
|
90
|
+
- Date
|
|
91
|
+
- Summary of changes
|
|
92
|
+
- Breaking changes (if any)
|
|
93
|
+
|
|
94
|
+
### 3. Commit Version Bump
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
git add Cargo.toml pyproject.toml CHANGELOG.md
|
|
98
|
+
git commit -m "chore: bump version to X.Y.Z"
|
|
99
|
+
git push origin main
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 4. Check Dependabot PRs
|
|
103
|
+
|
|
104
|
+
Before releasing, review open Dependabot PRs:
|
|
105
|
+
|
|
106
|
+
1. Go to: https://github.com/tstone-1/xlsxturbo/pulls
|
|
107
|
+
2. Check for open Dependabot PRs (dependency updates)
|
|
108
|
+
3. For each PR, decide:
|
|
109
|
+
- **Merge** if CI passes and update is safe
|
|
110
|
+
- **Close** if update causes issues or is not needed yet
|
|
111
|
+
- **Defer** to next release (document why)
|
|
112
|
+
|
|
113
|
+
Don't release with unreviewed dependency PRs piling up.
|
|
114
|
+
|
|
115
|
+
### 5. Verify CI Passes
|
|
116
|
+
|
|
117
|
+
**IMPORTANT:** Before creating a release tag, verify GitHub Actions succeed.
|
|
118
|
+
|
|
119
|
+
1. Go to: https://github.com/tstone-1/xlsxturbo/actions
|
|
120
|
+
2. Check the latest push to `main`
|
|
121
|
+
3. Verify both workflows show green checkmarks:
|
|
122
|
+
- **CI / test (push)** - Rust tests pass
|
|
123
|
+
- **CI / lint (push)** - Format and clippy pass
|
|
124
|
+
|
|
125
|
+
Do NOT proceed if CI is failing.
|
|
126
|
+
|
|
127
|
+
### 6. Create Release Tag
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
git tag vX.Y.Z
|
|
131
|
+
git push origin vX.Y.Z
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 7. Verify Release Workflow
|
|
135
|
+
|
|
136
|
+
After pushing the tag:
|
|
137
|
+
|
|
138
|
+
1. Go to: https://github.com/tstone-1/xlsxturbo/actions
|
|
139
|
+
2. Watch the **Release** workflow
|
|
140
|
+
3. Verify all jobs succeed:
|
|
141
|
+
- **linux** (x86_64, aarch64)
|
|
142
|
+
- **windows** (x64)
|
|
143
|
+
- **macos** (x86_64, aarch64)
|
|
144
|
+
- **sdist**
|
|
145
|
+
- **Publish to PyPI**
|
|
146
|
+
|
|
147
|
+
### 8. Verify PyPI Publication
|
|
148
|
+
|
|
149
|
+
1. Go to: https://pypi.org/project/xlsxturbo/
|
|
150
|
+
2. Verify new version appears
|
|
151
|
+
3. Test installation: `pip install xlsxturbo==X.Y.Z`
|
|
152
|
+
|
|
153
|
+
## Troubleshooting
|
|
154
|
+
|
|
155
|
+
### CI Lint Fails
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Check what needs formatting
|
|
159
|
+
cargo fmt --check
|
|
160
|
+
|
|
161
|
+
# Auto-fix formatting
|
|
162
|
+
cargo fmt
|
|
163
|
+
|
|
164
|
+
# Check clippy warnings
|
|
165
|
+
cargo clippy -- -D warnings
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Release Workflow Fails
|
|
169
|
+
|
|
170
|
+
1. Check which job failed in GitHub Actions
|
|
171
|
+
2. Common issues:
|
|
172
|
+
- **Build fails**: Check Cargo.toml dependencies
|
|
173
|
+
- **PyPI publish fails**: Check PyPI trusted publisher settings
|
|
174
|
+
- **Wheel build fails**: Check maturin configuration
|
|
175
|
+
|
|
176
|
+
### Maturin Develop Doesn't Update
|
|
177
|
+
|
|
178
|
+
If changes aren't reflected after `maturin develop`:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Uninstall and reinstall
|
|
182
|
+
pip uninstall xlsxturbo -y
|
|
183
|
+
pip install .
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## GitHub Actions Summary
|
|
187
|
+
|
|
188
|
+
| Workflow | Trigger | Jobs |
|
|
189
|
+
|----------|---------|------|
|
|
190
|
+
| CI | Push/PR to main | `test` (cargo test), `lint` (fmt + clippy) |
|
|
191
|
+
| Release | Push tag `v*` | Build wheels (linux/win/mac) + PyPI publish |
|
|
@@ -5,13 +5,35 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.8.0] - 2026-01-15
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Date order parameter** - `date_order` for `csv_to_xlsx()` to handle ambiguous dates
|
|
12
|
+
- `"auto"` (default): ISO first, then European (DMY), then US (MDY)
|
|
13
|
+
- `"mdy"` or `"us"`: US format where 01-02-2024 = January 2nd
|
|
14
|
+
- `"dmy"` or `"eu"`: European format where 01-02-2024 = February 1st
|
|
15
|
+
- Also available in CLI: `--date-order us`
|
|
16
|
+
- **BUILD.md** - Developer guide for building, testing, and releasing
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
- **Pattern matching order** - `column_formats` patterns now match in definition order (first match wins). Previously, HashMap iteration order was non-deterministic.
|
|
20
|
+
- **Empty DataFrame with table_style** - No longer crashes; tables are skipped when DataFrame has no data rows
|
|
21
|
+
- **Hex color validation** - Colors like `#FF` now raise descriptive error instead of silently misparsing
|
|
22
|
+
- **Invalid table_style validation** - Unknown styles now raise error instead of silently defaulting to Medium9
|
|
23
|
+
- **CLI division by zero** - Instant conversions now show "instant rows/sec" instead of "inf"
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- Uses `indexmap` crate to preserve pattern insertion order
|
|
27
|
+
- Updated `pyo3` 0.23 → 0.27, `rust_xlsxwriter` 0.79 → 0.92
|
|
28
|
+
- Added Dependabot for automated dependency updates
|
|
29
|
+
|
|
8
30
|
## [0.7.0] - 2025-12-28
|
|
9
31
|
|
|
10
32
|
### Added
|
|
11
33
|
- **Column formatting with wildcards** - `column_formats` parameter for styling columns by pattern
|
|
12
34
|
- Wildcard patterns: `prefix*`, `*suffix`, `*contains*`, or exact match
|
|
13
35
|
- Format options: `bg_color`, `font_color`, `num_format`, `bold`, `italic`, `underline`, `border`
|
|
14
|
-
- Example: `column_formats={'
|
|
36
|
+
- Example: `column_formats={'price_*': {'bg_color': '#D6EAF8', 'num_format': '$#,##0.00', 'border': True}}`
|
|
15
37
|
- Available in both `df_to_xlsx()` and `dfs_to_xlsx()`
|
|
16
38
|
- Per-sheet column formats via options dict in `dfs_to_xlsx()`
|
|
17
39
|
|
|
@@ -121,6 +143,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
121
143
|
- Support for custom sheet names
|
|
122
144
|
- Verbose mode for progress reporting
|
|
123
145
|
|
|
146
|
+
[0.8.0]: https://github.com/tstone-1/xlsxturbo/releases/tag/v0.8.0
|
|
124
147
|
[0.7.0]: https://github.com/tstone-1/xlsxturbo/releases/tag/v0.7.0
|
|
125
148
|
[0.6.0]: https://github.com/tstone-1/xlsxturbo/releases/tag/v0.6.0
|
|
126
149
|
[0.5.0]: https://github.com/tstone-1/xlsxturbo/releases/tag/v0.5.0
|
|
@@ -96,9 +96,9 @@ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
|
|
|
96
96
|
|
|
97
97
|
[[package]]
|
|
98
98
|
name = "cc"
|
|
99
|
-
version = "1.2.
|
|
99
|
+
version = "1.2.52"
|
|
100
100
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
101
|
-
checksum = "
|
|
101
|
+
checksum = "cd4932aefd12402b36c60956a4fe0035421f544799057659ff86f923657aada3"
|
|
102
102
|
dependencies = [
|
|
103
103
|
"find-msvc-tools",
|
|
104
104
|
"shlex",
|
|
@@ -112,9 +112,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
|
112
112
|
|
|
113
113
|
[[package]]
|
|
114
114
|
name = "chrono"
|
|
115
|
-
version = "0.4.
|
|
115
|
+
version = "0.4.43"
|
|
116
116
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
117
|
-
checksum = "
|
|
117
|
+
checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118"
|
|
118
118
|
dependencies = [
|
|
119
119
|
"iana-time-zone",
|
|
120
120
|
"js-sys",
|
|
@@ -125,9 +125,9 @@ dependencies = [
|
|
|
125
125
|
|
|
126
126
|
[[package]]
|
|
127
127
|
name = "clap"
|
|
128
|
-
version = "4.5.
|
|
128
|
+
version = "4.5.54"
|
|
129
129
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
130
|
-
checksum = "
|
|
130
|
+
checksum = "c6e6ff9dcd79cff5cd969a17a545d79e84ab086e444102a591e288a8aa3ce394"
|
|
131
131
|
dependencies = [
|
|
132
132
|
"clap_builder",
|
|
133
133
|
"clap_derive",
|
|
@@ -135,9 +135,9 @@ dependencies = [
|
|
|
135
135
|
|
|
136
136
|
[[package]]
|
|
137
137
|
name = "clap_builder"
|
|
138
|
-
version = "4.5.
|
|
138
|
+
version = "4.5.54"
|
|
139
139
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
140
|
-
checksum = "
|
|
140
|
+
checksum = "fa42cf4d2b7a41bc8f663a7cab4031ebafa1bf3875705bfaf8466dc60ab52c00"
|
|
141
141
|
dependencies = [
|
|
142
142
|
"anstream",
|
|
143
143
|
"anstyle",
|
|
@@ -159,9 +159,9 @@ dependencies = [
|
|
|
159
159
|
|
|
160
160
|
[[package]]
|
|
161
161
|
name = "clap_lex"
|
|
162
|
-
version = "0.7.
|
|
162
|
+
version = "0.7.7"
|
|
163
163
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
164
|
-
checksum = "
|
|
164
|
+
checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32"
|
|
165
165
|
|
|
166
166
|
[[package]]
|
|
167
167
|
name = "colorchoice"
|
|
@@ -241,17 +241,6 @@ dependencies = [
|
|
|
241
241
|
"syn",
|
|
242
242
|
]
|
|
243
243
|
|
|
244
|
-
[[package]]
|
|
245
|
-
name = "displaydoc"
|
|
246
|
-
version = "0.2.5"
|
|
247
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
248
|
-
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
|
249
|
-
dependencies = [
|
|
250
|
-
"proc-macro2",
|
|
251
|
-
"quote",
|
|
252
|
-
"syn",
|
|
253
|
-
]
|
|
254
|
-
|
|
255
244
|
[[package]]
|
|
256
245
|
name = "either"
|
|
257
246
|
version = "1.15.0"
|
|
@@ -282,18 +271,19 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
|
|
|
282
271
|
|
|
283
272
|
[[package]]
|
|
284
273
|
name = "find-msvc-tools"
|
|
285
|
-
version = "0.1.
|
|
274
|
+
version = "0.1.7"
|
|
286
275
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
287
|
-
checksum = "
|
|
276
|
+
checksum = "f449e6c6c08c865631d4890cfacf252b3d396c9bcc83adb6623cdb02a8336c41"
|
|
288
277
|
|
|
289
278
|
[[package]]
|
|
290
279
|
name = "flate2"
|
|
291
|
-
version = "1.1.
|
|
280
|
+
version = "1.1.8"
|
|
292
281
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
293
|
-
checksum = "
|
|
282
|
+
checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369"
|
|
294
283
|
dependencies = [
|
|
295
284
|
"crc32fast",
|
|
296
285
|
"miniz_oxide",
|
|
286
|
+
"zlib-rs",
|
|
297
287
|
]
|
|
298
288
|
|
|
299
289
|
[[package]]
|
|
@@ -346,9 +336,9 @@ dependencies = [
|
|
|
346
336
|
|
|
347
337
|
[[package]]
|
|
348
338
|
name = "indexmap"
|
|
349
|
-
version = "2.
|
|
339
|
+
version = "2.13.0"
|
|
350
340
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
351
|
-
checksum = "
|
|
341
|
+
checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
|
|
352
342
|
dependencies = [
|
|
353
343
|
"equivalent",
|
|
354
344
|
"hashbrown",
|
|
@@ -377,9 +367,9 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
|
|
|
377
367
|
|
|
378
368
|
[[package]]
|
|
379
369
|
name = "js-sys"
|
|
380
|
-
version = "0.3.
|
|
370
|
+
version = "0.3.85"
|
|
381
371
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
382
|
-
checksum = "
|
|
372
|
+
checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3"
|
|
383
373
|
dependencies = [
|
|
384
374
|
"once_cell",
|
|
385
375
|
"wasm-bindgen",
|
|
@@ -387,9 +377,9 @@ dependencies = [
|
|
|
387
377
|
|
|
388
378
|
[[package]]
|
|
389
379
|
name = "libc"
|
|
390
|
-
version = "0.2.
|
|
380
|
+
version = "0.2.180"
|
|
391
381
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
392
|
-
checksum = "
|
|
382
|
+
checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
|
|
393
383
|
|
|
394
384
|
[[package]]
|
|
395
385
|
name = "linux-raw-sys"
|
|
@@ -457,20 +447,19 @@ checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950"
|
|
|
457
447
|
|
|
458
448
|
[[package]]
|
|
459
449
|
name = "proc-macro2"
|
|
460
|
-
version = "1.0.
|
|
450
|
+
version = "1.0.105"
|
|
461
451
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
462
|
-
checksum = "
|
|
452
|
+
checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7"
|
|
463
453
|
dependencies = [
|
|
464
454
|
"unicode-ident",
|
|
465
455
|
]
|
|
466
456
|
|
|
467
457
|
[[package]]
|
|
468
458
|
name = "pyo3"
|
|
469
|
-
version = "0.
|
|
459
|
+
version = "0.27.2"
|
|
470
460
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
471
|
-
checksum = "
|
|
461
|
+
checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
|
|
472
462
|
dependencies = [
|
|
473
|
-
"cfg-if",
|
|
474
463
|
"indoc",
|
|
475
464
|
"libc",
|
|
476
465
|
"memoffset",
|
|
@@ -484,19 +473,18 @@ dependencies = [
|
|
|
484
473
|
|
|
485
474
|
[[package]]
|
|
486
475
|
name = "pyo3-build-config"
|
|
487
|
-
version = "0.
|
|
476
|
+
version = "0.27.2"
|
|
488
477
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
489
|
-
checksum = "
|
|
478
|
+
checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
|
|
490
479
|
dependencies = [
|
|
491
|
-
"once_cell",
|
|
492
480
|
"target-lexicon",
|
|
493
481
|
]
|
|
494
482
|
|
|
495
483
|
[[package]]
|
|
496
484
|
name = "pyo3-ffi"
|
|
497
|
-
version = "0.
|
|
485
|
+
version = "0.27.2"
|
|
498
486
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
499
|
-
checksum = "
|
|
487
|
+
checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
|
|
500
488
|
dependencies = [
|
|
501
489
|
"libc",
|
|
502
490
|
"pyo3-build-config",
|
|
@@ -504,9 +492,9 @@ dependencies = [
|
|
|
504
492
|
|
|
505
493
|
[[package]]
|
|
506
494
|
name = "pyo3-macros"
|
|
507
|
-
version = "0.
|
|
495
|
+
version = "0.27.2"
|
|
508
496
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
509
|
-
checksum = "
|
|
497
|
+
checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
|
|
510
498
|
dependencies = [
|
|
511
499
|
"proc-macro2",
|
|
512
500
|
"pyo3-macros-backend",
|
|
@@ -516,9 +504,9 @@ dependencies = [
|
|
|
516
504
|
|
|
517
505
|
[[package]]
|
|
518
506
|
name = "pyo3-macros-backend"
|
|
519
|
-
version = "0.
|
|
507
|
+
version = "0.27.2"
|
|
520
508
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
521
|
-
checksum = "
|
|
509
|
+
checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
|
|
522
510
|
dependencies = [
|
|
523
511
|
"heck",
|
|
524
512
|
"proc-macro2",
|
|
@@ -529,9 +517,9 @@ dependencies = [
|
|
|
529
517
|
|
|
530
518
|
[[package]]
|
|
531
519
|
name = "quote"
|
|
532
|
-
version = "1.0.
|
|
520
|
+
version = "1.0.43"
|
|
533
521
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
534
|
-
checksum = "
|
|
522
|
+
checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a"
|
|
535
523
|
dependencies = [
|
|
536
524
|
"proc-macro2",
|
|
537
525
|
]
|
|
@@ -564,9 +552,9 @@ dependencies = [
|
|
|
564
552
|
|
|
565
553
|
[[package]]
|
|
566
554
|
name = "rust_xlsxwriter"
|
|
567
|
-
version = "0.
|
|
555
|
+
version = "0.92.3"
|
|
568
556
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
569
|
-
checksum = "
|
|
557
|
+
checksum = "0733a44f344e900c4221f33a16aa92a59e3e7c7ad37d39a1c753afecb1f2bd02"
|
|
570
558
|
dependencies = [
|
|
571
559
|
"tempfile",
|
|
572
560
|
"zip",
|
|
@@ -637,9 +625,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
|
|
|
637
625
|
|
|
638
626
|
[[package]]
|
|
639
627
|
name = "syn"
|
|
640
|
-
version = "2.0.
|
|
628
|
+
version = "2.0.114"
|
|
641
629
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
642
|
-
checksum = "
|
|
630
|
+
checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
|
|
643
631
|
dependencies = [
|
|
644
632
|
"proc-macro2",
|
|
645
633
|
"quote",
|
|
@@ -648,9 +636,9 @@ dependencies = [
|
|
|
648
636
|
|
|
649
637
|
[[package]]
|
|
650
638
|
name = "target-lexicon"
|
|
651
|
-
version = "0.
|
|
639
|
+
version = "0.13.4"
|
|
652
640
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
653
|
-
checksum = "
|
|
641
|
+
checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba"
|
|
654
642
|
|
|
655
643
|
[[package]]
|
|
656
644
|
name = "tempfile"
|
|
@@ -665,26 +653,6 @@ dependencies = [
|
|
|
665
653
|
"windows-sys",
|
|
666
654
|
]
|
|
667
655
|
|
|
668
|
-
[[package]]
|
|
669
|
-
name = "thiserror"
|
|
670
|
-
version = "2.0.17"
|
|
671
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
672
|
-
checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
|
|
673
|
-
dependencies = [
|
|
674
|
-
"thiserror-impl",
|
|
675
|
-
]
|
|
676
|
-
|
|
677
|
-
[[package]]
|
|
678
|
-
name = "thiserror-impl"
|
|
679
|
-
version = "2.0.17"
|
|
680
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
681
|
-
checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
|
|
682
|
-
dependencies = [
|
|
683
|
-
"proc-macro2",
|
|
684
|
-
"quote",
|
|
685
|
-
"syn",
|
|
686
|
-
]
|
|
687
|
-
|
|
688
656
|
[[package]]
|
|
689
657
|
name = "unicode-ident"
|
|
690
658
|
version = "1.0.22"
|
|
@@ -714,9 +682,9 @@ dependencies = [
|
|
|
714
682
|
|
|
715
683
|
[[package]]
|
|
716
684
|
name = "wasm-bindgen"
|
|
717
|
-
version = "0.2.
|
|
685
|
+
version = "0.2.108"
|
|
718
686
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
719
|
-
checksum = "
|
|
687
|
+
checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566"
|
|
720
688
|
dependencies = [
|
|
721
689
|
"cfg-if",
|
|
722
690
|
"once_cell",
|
|
@@ -727,9 +695,9 @@ dependencies = [
|
|
|
727
695
|
|
|
728
696
|
[[package]]
|
|
729
697
|
name = "wasm-bindgen-macro"
|
|
730
|
-
version = "0.2.
|
|
698
|
+
version = "0.2.108"
|
|
731
699
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
732
|
-
checksum = "
|
|
700
|
+
checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608"
|
|
733
701
|
dependencies = [
|
|
734
702
|
"quote",
|
|
735
703
|
"wasm-bindgen-macro-support",
|
|
@@ -737,9 +705,9 @@ dependencies = [
|
|
|
737
705
|
|
|
738
706
|
[[package]]
|
|
739
707
|
name = "wasm-bindgen-macro-support"
|
|
740
|
-
version = "0.2.
|
|
708
|
+
version = "0.2.108"
|
|
741
709
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
742
|
-
checksum = "
|
|
710
|
+
checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55"
|
|
743
711
|
dependencies = [
|
|
744
712
|
"bumpalo",
|
|
745
713
|
"proc-macro2",
|
|
@@ -750,9 +718,9 @@ dependencies = [
|
|
|
750
718
|
|
|
751
719
|
[[package]]
|
|
752
720
|
name = "wasm-bindgen-shared"
|
|
753
|
-
version = "0.2.
|
|
721
|
+
version = "0.2.108"
|
|
754
722
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
755
|
-
checksum = "
|
|
723
|
+
checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12"
|
|
756
724
|
dependencies = [
|
|
757
725
|
"unicode-ident",
|
|
758
726
|
]
|
|
@@ -833,11 +801,12 @@ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
|
|
|
833
801
|
|
|
834
802
|
[[package]]
|
|
835
803
|
name = "xlsxturbo"
|
|
836
|
-
version = "0.
|
|
804
|
+
version = "0.8.0"
|
|
837
805
|
dependencies = [
|
|
838
806
|
"chrono",
|
|
839
807
|
"clap",
|
|
840
808
|
"csv",
|
|
809
|
+
"indexmap",
|
|
841
810
|
"pyo3",
|
|
842
811
|
"rayon",
|
|
843
812
|
"rust_xlsxwriter",
|
|
@@ -845,21 +814,24 @@ dependencies = [
|
|
|
845
814
|
|
|
846
815
|
[[package]]
|
|
847
816
|
name = "zip"
|
|
848
|
-
version = "
|
|
817
|
+
version = "6.0.0"
|
|
849
818
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
850
|
-
checksum = "
|
|
819
|
+
checksum = "eb2a05c7c36fde6c09b08576c9f7fb4cda705990f73b58fe011abf7dfb24168b"
|
|
851
820
|
dependencies = [
|
|
852
821
|
"arbitrary",
|
|
853
822
|
"crc32fast",
|
|
854
|
-
"crossbeam-utils",
|
|
855
|
-
"displaydoc",
|
|
856
823
|
"flate2",
|
|
857
824
|
"indexmap",
|
|
858
825
|
"memchr",
|
|
859
|
-
"thiserror",
|
|
860
826
|
"zopfli",
|
|
861
827
|
]
|
|
862
828
|
|
|
829
|
+
[[package]]
|
|
830
|
+
name = "zlib-rs"
|
|
831
|
+
version = "0.5.5"
|
|
832
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
833
|
+
checksum = "40990edd51aae2c2b6907af74ffb635029d5788228222c4bb811e9351c0caad3"
|
|
834
|
+
|
|
863
835
|
[[package]]
|
|
864
836
|
name = "zopfli"
|
|
865
837
|
version = "0.8.3"
|