pyroid 0.1.0__tar.gz → 0.2.1__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.
Files changed (104) hide show
  1. pyroid-0.2.1/.github/workflows/semantic-release.yml +100 -0
  2. {pyroid-0.1.0 → pyroid-0.2.1}/.gitignore +1 -0
  3. pyroid-0.2.1/Cargo.lock +991 -0
  4. pyroid-0.2.1/Cargo.toml +55 -0
  5. pyroid-0.2.1/PKG-INFO +374 -0
  6. pyroid-0.2.1/README.md +349 -0
  7. pyroid-0.2.1/benchmarks/README.md +113 -0
  8. pyroid-0.2.1/benchmarks/README_update.md +46 -0
  9. pyroid-0.2.1/benchmarks/__init__.py +9 -0
  10. pyroid-0.2.1/benchmarks/benchmark_plan.md +216 -0
  11. pyroid-0.2.1/benchmarks/core/__init__.py +3 -0
  12. pyroid-0.2.1/benchmarks/core/benchmark.py +185 -0
  13. pyroid-0.2.1/benchmarks/core/reporter.py +118 -0
  14. pyroid-0.2.1/benchmarks/core/visualizer.py +822 -0
  15. pyroid-0.2.1/benchmarks/demo.py +324 -0
  16. pyroid-0.2.1/benchmarks/generate_notebook.py +35 -0
  17. pyroid-0.2.1/benchmarks/pyroid_benchmarks.ipynb +1133 -0
  18. pyroid-0.2.1/benchmarks/run_benchmarks.py +210 -0
  19. pyroid-0.2.1/benchmarks/suites/__init__.py +3 -0
  20. pyroid-0.2.1/benchmarks/suites/async_benchmarks.py +276 -0
  21. pyroid-0.2.1/benchmarks/suites/data_benchmarks.py +116 -0
  22. pyroid-0.2.1/benchmarks/suites/math_benchmarks.py +124 -0
  23. pyroid-0.2.1/benchmarks/suites/scenarios/__init__.py +6 -0
  24. pyroid-0.2.1/benchmarks/suites/scenarios/data_pipeline.py +124 -0
  25. pyroid-0.2.1/benchmarks/suites/scenarios/scientific_computing.py +240 -0
  26. pyroid-0.2.1/benchmarks/suites/scenarios/text_processing.py +256 -0
  27. pyroid-0.2.1/benchmarks/suites/scenarios/web_scraping.py +214 -0
  28. pyroid-0.2.1/benchmarks/suites/string_benchmarks.py +130 -0
  29. pyroid-0.2.1/build.rs +89 -0
  30. pyroid-0.2.1/docs/api/dataframe_ops.md +382 -0
  31. pyroid-0.2.1/docs/api/image_ops.md +274 -0
  32. pyroid-0.2.1/docs/api/index.md +139 -0
  33. pyroid-0.2.1/docs/api/io_ops.md +702 -0
  34. pyroid-0.2.1/docs/api/ml_ops.md +389 -0
  35. pyroid-0.2.1/docs/api/text_nlp_ops.md +507 -0
  36. pyroid-0.2.1/docs/guides/getting_started.md +427 -0
  37. pyroid-0.2.1/docs/guides/index.md +100 -0
  38. pyroid-0.2.1/docs/guides/performance.md +559 -0
  39. pyroid-0.2.1/docs/index.md +206 -0
  40. pyroid-0.2.1/examples/dataframe_examples.py +154 -0
  41. pyroid-0.2.1/examples/image_examples.py +180 -0
  42. pyroid-0.2.1/examples/io_examples.py +173 -0
  43. pyroid-0.2.1/examples/ml_examples.py +202 -0
  44. pyroid-0.2.1/examples/requirements.txt +11 -0
  45. pyroid-0.2.1/examples/text_nlp_examples.py +136 -0
  46. {pyroid-0.1.0 → pyroid-0.2.1}/pyproject.toml +19 -4
  47. pyroid-0.2.1/python/pyroid/__init__.py +94 -0
  48. pyroid-0.2.1/python/pyroid/core/__init__.py +48 -0
  49. pyroid-0.2.1/python/pyroid/data/__init__.py +40 -0
  50. pyroid-0.2.1/python/pyroid/io/__init__.py +43 -0
  51. pyroid-0.2.1/python/pyroid/math/__init__.py +51 -0
  52. pyroid-0.2.1/src/core/config.rs +337 -0
  53. pyroid-0.2.1/src/core/conversion.rs +244 -0
  54. pyroid-0.2.1/src/core/error.rs +88 -0
  55. pyroid-0.2.1/src/core/mod.rs +26 -0
  56. pyroid-0.2.1/src/core/types.rs +115 -0
  57. pyroid-0.2.1/src/data/collections.rs +138 -0
  58. pyroid-0.2.1/src/data/dataframe.rs +459 -0
  59. pyroid-0.2.1/src/data/mod.rs +26 -0
  60. pyroid-0.2.1/src/dataframe_ops.rs +544 -0
  61. pyroid-0.2.1/src/image/basic.rs +298 -0
  62. pyroid-0.2.1/src/image/mod.rs +21 -0
  63. pyroid-0.2.1/src/image_ops.rs +436 -0
  64. pyroid-0.2.1/src/io/async_io.rs +293 -0
  65. pyroid-0.2.1/src/io/file.rs +134 -0
  66. pyroid-0.2.1/src/io/mod.rs +28 -0
  67. pyroid-0.2.1/src/io/network.rs +246 -0
  68. pyroid-0.2.1/src/io_ops.rs +435 -0
  69. pyroid-0.2.1/src/lib.rs +64 -0
  70. pyroid-0.2.1/src/math/matrix.rs +345 -0
  71. pyroid-0.2.1/src/math/mod.rs +28 -0
  72. pyroid-0.2.1/src/math/stats.rs +172 -0
  73. pyroid-0.2.1/src/math/vector.rs +266 -0
  74. pyroid-0.2.1/src/ml/basic.rs +352 -0
  75. pyroid-0.2.1/src/ml/mod.rs +21 -0
  76. pyroid-0.2.1/src/ml_ops.rs +504 -0
  77. pyroid-0.2.1/src/string_ops.rs +201 -0
  78. pyroid-0.2.1/src/text/mod.rs +19 -0
  79. pyroid-0.2.1/src/text_nlp_ops.rs +566 -0
  80. pyroid-0.1.0/.github/workflows/semantic-release.yml +0 -51
  81. pyroid-0.1.0/CHANGELOG.md +0 -17
  82. pyroid-0.1.0/Cargo.lock +0 -2210
  83. pyroid-0.1.0/Cargo.toml +0 -32
  84. pyroid-0.1.0/PKG-INFO +0 -126
  85. pyroid-0.1.0/README.md +0 -102
  86. pyroid-0.1.0/examples/data_examples.py +0 -128
  87. pyroid-0.1.0/python/pyroid/__init__.py +0 -53
  88. pyroid-0.1.0/src/lib.rs +0 -33
  89. pyroid-0.1.0/src/string_ops.rs +0 -180
  90. {pyroid-0.1.0 → pyroid-0.2.1}/.github/workflows/publish.yml +0 -0
  91. {pyroid-0.1.0 → pyroid-0.2.1}/examples/async_examples.py +0 -0
  92. /pyroid-0.1.0/examples/data_examples_simple.py → /pyroid-0.2.1/examples/data_examples.py +0 -0
  93. {pyroid-0.1.0 → pyroid-0.2.1}/examples/math_examples.py +0 -0
  94. {pyroid-0.1.0 → pyroid-0.2.1}/examples/string_examples.py +0 -0
  95. {pyroid-0.1.0 → pyroid-0.2.1/examples}/test_async_file.txt +0 -0
  96. {pyroid-0.1.0 → pyroid-0.2.1}/python/__init__.py +0 -0
  97. {pyroid-0.1.0 → pyroid-0.2.1}/python/tests/__init__.py +0 -0
  98. {pyroid-0.1.0 → pyroid-0.2.1}/python/tests/test_basic.py +0 -0
  99. {pyroid-0.1.0 → pyroid-0.2.1}/setup.py +0 -0
  100. {pyroid-0.1.0 → pyroid-0.2.1}/src/async_ops.rs +0 -0
  101. {pyroid-0.1.0 → pyroid-0.2.1}/src/data_ops.rs +0 -0
  102. {pyroid-0.1.0 → pyroid-0.2.1}/src/math_ops.rs +0 -0
  103. {pyroid-0.1.0 → pyroid-0.2.1}/src/utils/conversions.rs +0 -0
  104. {pyroid-0.1.0 → pyroid-0.2.1}/src/utils/mod.rs +0 -0
@@ -0,0 +1,100 @@
1
+ name: Semantic Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ # Add permissions to allow pushing to the repository and creating tags
9
+ permissions:
10
+ contents: write # Required for creating tags and releases
11
+ pull-requests: write
12
+ issues: write
13
+ id-token: write # Required for some authentication scenarios
14
+
15
+ jobs:
16
+ release:
17
+ runs-on: ubuntu-latest
18
+ concurrency: release
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ with:
22
+ fetch-depth: 0
23
+
24
+ - name: Install Rust
25
+ uses: dtolnay/rust-toolchain@stable
26
+
27
+ - name: Set up Python
28
+ uses: actions/setup-python@v5
29
+ with:
30
+ python-version: '3.x'
31
+
32
+ - name: Install dependencies
33
+ run: |
34
+ python -m pip install --upgrade pip
35
+ pip install python-semantic-release
36
+
37
+ - name: Semantic Release
38
+ id: semantic
39
+ run: |
40
+ # Print the current version
41
+ echo "Current version in pyproject.toml:"
42
+ grep -m 1 "version" pyproject.toml
43
+
44
+ # Run semantic-release with verbose output
45
+ echo "Running semantic-release version --print..."
46
+ VERSION=$(semantic-release version --print)
47
+ echo "Next version would be: $VERSION"
48
+ echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
49
+
50
+ # Run semantic-release publish with verbose output
51
+ echo "Running semantic-release publish..."
52
+ semantic-release --verbose publish
53
+
54
+ # Verify the tag was created
55
+ echo "Checking for tag v$VERSION..."
56
+ git tag -l "v$VERSION"
57
+ env:
58
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60
+
61
+ - name: Create Tag Manually if Needed
62
+ if: steps.semantic.outputs.VERSION != '0.0.0' && steps.semantic.outputs.VERSION != ''
63
+ run: |
64
+ # Configure git
65
+ git config --local user.email "github-actions@github.com"
66
+ git config --local user.name "GitHub Actions"
67
+
68
+ # Check if tag exists
69
+ VERSION="${{ steps.semantic.outputs.VERSION }}"
70
+ if ! git tag -l "v$VERSION" | grep -q "v$VERSION"; then
71
+ echo "Tag v$VERSION does not exist, creating it..."
72
+
73
+ # Get the current commit hash
74
+ COMMIT_HASH=$(git rev-parse HEAD)
75
+
76
+ # Create and push tag
77
+ git tag -a "v$VERSION" -m "Release v$VERSION" $COMMIT_HASH
78
+ git push origin "v$VERSION"
79
+
80
+ echo "Tag v$VERSION created and pushed"
81
+ else
82
+ echo "Tag v$VERSION already exists"
83
+ fi
84
+ env:
85
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86
+
87
+ - name: Trigger Publish Workflow
88
+ if: steps.semantic.outputs.VERSION != '0.0.0' && steps.semantic.outputs.VERSION != ''
89
+ uses: peter-evans/repository-dispatch@v2
90
+ with:
91
+ token: ${{ secrets.GITHUB_TOKEN }}
92
+ event-type: publish-pypi
93
+ client-payload: '{"version": "${{ steps.semantic.outputs.VERSION }}"}'
94
+
95
+ - name: Summary
96
+ run: |
97
+ echo "## Semantic Release Summary" >> $GITHUB_STEP_SUMMARY
98
+ echo "- Version: ${{ steps.semantic.outputs.VERSION }}" >> $GITHUB_STEP_SUMMARY
99
+ echo "- Tag: v${{ steps.semantic.outputs.VERSION }}" >> $GITHUB_STEP_SUMMARY
100
+ echo "- Publish Workflow Triggered: ${{ steps.semantic.outputs.VERSION != '0.0.0' && steps.semantic.outputs.VERSION != '' }}" >> $GITHUB_STEP_SUMMARY
@@ -3,3 +3,4 @@ target
3
3
  *.pyc
4
4
  *.pyo
5
5
  *.pyd
6
+ .venv