molex 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 (131) hide show
  1. molex-0.2.1/.github/workflows/ci.yml +63 -0
  2. molex-0.2.1/.github/workflows/docs.yml +62 -0
  3. molex-0.2.1/.github/workflows/release.yml +95 -0
  4. molex-0.2.1/.gitignore +47 -0
  5. molex-0.2.1/Cargo.lock +966 -0
  6. molex-0.2.1/Cargo.toml +88 -0
  7. molex-0.2.1/LICENSE +22 -0
  8. molex-0.2.1/PKG-INFO +70 -0
  9. molex-0.2.1/README.md +52 -0
  10. molex-0.2.1/benches/analysis.rs +174 -0
  11. molex-0.2.1/benches/codec.rs +133 -0
  12. molex-0.2.1/benches/parsing.rs +128 -0
  13. molex-0.2.1/clippy.toml +6 -0
  14. molex-0.2.1/deny.toml +32 -0
  15. molex-0.2.1/docs/book/.nojekyll +1 -0
  16. molex-0.2.1/docs/book/404.html +244 -0
  17. molex-0.2.1/docs/book/architecture/data-flow.html +316 -0
  18. molex-0.2.1/docs/book/architecture/overview.html +317 -0
  19. molex-0.2.1/docs/book/ayu-highlight-3fdfc3ac.css +77 -0
  20. molex-0.2.1/docs/book/book-a0b12cfe.js +843 -0
  21. molex-0.2.1/docs/book/clipboard-1626706a.min.js +7 -0
  22. molex-0.2.1/docs/book/css/chrome-ae938929.css +756 -0
  23. molex-0.2.1/docs/book/css/general-2459343d.css +408 -0
  24. molex-0.2.1/docs/book/css/print-9e4910d8.css +50 -0
  25. molex-0.2.1/docs/book/css/variables-8adf115d.css +383 -0
  26. molex-0.2.1/docs/book/elasticlunr-ef4e11c1.min.js +10 -0
  27. molex-0.2.1/docs/book/favicon-8114d1fc.png +0 -0
  28. molex-0.2.1/docs/book/favicon-de23e50b.svg +22 -0
  29. molex-0.2.1/docs/book/fonts/OPEN-SANS-LICENSE.txt +202 -0
  30. molex-0.2.1/docs/book/fonts/SOURCE-CODE-PRO-LICENSE.txt +93 -0
  31. molex-0.2.1/docs/book/fonts/fonts-9644e21d.css +100 -0
  32. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-300-7736aa35.woff2 +0 -0
  33. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-300italic-2c7b95c0.woff2 +0 -0
  34. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-600-486c6759.woff2 +0 -0
  35. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-600italic-1a3e8659.woff2 +0 -0
  36. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-700-c22fe8c7.woff2 +0 -0
  37. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-700italic-238ae959.woff2 +0 -0
  38. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-800-3d2c812a.woff2 +0 -0
  39. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-800italic-ba1521ec.woff2 +0 -0
  40. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-italic-6c9463f7.woff2 +0 -0
  41. molex-0.2.1/docs/book/fonts/open-sans-v17-all-charsets-regular-2e3b1d34.woff2 +0 -0
  42. molex-0.2.1/docs/book/fonts/source-code-pro-v11-all-charsets-500-2bdd9410.woff2 +0 -0
  43. molex-0.2.1/docs/book/getting-started/installation.html +284 -0
  44. molex-0.2.1/docs/book/getting-started/quick-start.html +316 -0
  45. molex-0.2.1/docs/book/highlight-493f70e1.css +83 -0
  46. molex-0.2.1/docs/book/highlight-abc7f01d.js +54 -0
  47. molex-0.2.1/docs/book/index.html +283 -0
  48. molex-0.2.1/docs/book/introduction.html +283 -0
  49. molex-0.2.1/docs/book/mark-09e88c2c.min.js +7 -0
  50. molex-0.2.1/docs/book/modules/adapters.html +308 -0
  51. molex-0.2.1/docs/book/modules/analysis.html +303 -0
  52. molex-0.2.1/docs/book/modules/codec.html +329 -0
  53. molex-0.2.1/docs/book/modules/entity.html +344 -0
  54. molex-0.2.1/docs/book/modules/ffi.html +291 -0
  55. molex-0.2.1/docs/book/modules/python.html +302 -0
  56. molex-0.2.1/docs/book/print.html +879 -0
  57. molex-0.2.1/docs/book/searcher-c2a407aa.js +555 -0
  58. molex-0.2.1/docs/book/searchindex-056f3aa0.js +1 -0
  59. molex-0.2.1/docs/book/toc-27f43c42.js +454 -0
  60. molex-0.2.1/docs/book/toc.html +31 -0
  61. molex-0.2.1/docs/book/tomorrow-night-4c0ae647.css +104 -0
  62. molex-0.2.1/docs/book.toml +12 -0
  63. molex-0.2.1/docs/src/SUMMARY.md +22 -0
  64. molex-0.2.1/docs/src/architecture/data-flow.md +91 -0
  65. molex-0.2.1/docs/src/architecture/overview.md +74 -0
  66. molex-0.2.1/docs/src/getting-started/installation.md +42 -0
  67. molex-0.2.1/docs/src/getting-started/quick-start.md +87 -0
  68. molex-0.2.1/docs/src/introduction.md +30 -0
  69. molex-0.2.1/docs/src/modules/adapters.md +92 -0
  70. molex-0.2.1/docs/src/modules/analysis.md +85 -0
  71. molex-0.2.1/docs/src/modules/codec.md +112 -0
  72. molex-0.2.1/docs/src/modules/entity.md +122 -0
  73. molex-0.2.1/docs/src/modules/ffi.md +63 -0
  74. molex-0.2.1/docs/src/modules/python.md +79 -0
  75. molex-0.2.1/docs/type_diagram.md +229 -0
  76. molex-0.2.1/justfile +125 -0
  77. molex-0.2.1/pyproject.toml +30 -0
  78. molex-0.2.1/rustfmt.toml +17 -0
  79. molex-0.2.1/src/adapters/atomworks/from_array.rs +473 -0
  80. molex-0.2.1/src/adapters/atomworks/mod.rs +175 -0
  81. molex-0.2.1/src/adapters/atomworks/to_array.rs +395 -0
  82. molex-0.2.1/src/adapters/bcif/codec.rs +713 -0
  83. molex-0.2.1/src/adapters/bcif/mod.rs +328 -0
  84. molex-0.2.1/src/adapters/cif/dom.rs +254 -0
  85. molex-0.2.1/src/adapters/cif/extract.rs +557 -0
  86. molex-0.2.1/src/adapters/cif/fast.rs +319 -0
  87. molex-0.2.1/src/adapters/cif/mod.rs +176 -0
  88. molex-0.2.1/src/adapters/cif/parse.rs +544 -0
  89. molex-0.2.1/src/adapters/dcd.rs +323 -0
  90. molex-0.2.1/src/adapters/mod.rs +29 -0
  91. molex-0.2.1/src/adapters/mrc/mod.rs +376 -0
  92. molex-0.2.1/src/adapters/mrc/tests.rs +434 -0
  93. molex-0.2.1/src/adapters/pdb.rs +405 -0
  94. molex-0.2.1/src/analysis/aabb.rs +128 -0
  95. molex-0.2.1/src/analysis/bonds/covalent.rs +147 -0
  96. molex-0.2.1/src/analysis/bonds/disulfide.rs +99 -0
  97. molex-0.2.1/src/analysis/bonds/hydrogen.rs +118 -0
  98. molex-0.2.1/src/analysis/bonds/mod.rs +9 -0
  99. molex-0.2.1/src/analysis/mod.rs +221 -0
  100. molex-0.2.1/src/analysis/ss/dssp.rs +100 -0
  101. molex-0.2.1/src/analysis/ss/mod.rs +7 -0
  102. molex-0.2.1/src/analysis/ss/string.rs +70 -0
  103. molex-0.2.1/src/element.rs +531 -0
  104. molex-0.2.1/src/entity/mod.rs +14 -0
  105. molex-0.2.1/src/entity/molecule/atom.rs +22 -0
  106. molex-0.2.1/src/entity/molecule/bulk.rs +76 -0
  107. molex-0.2.1/src/entity/molecule/classify.rs +181 -0
  108. molex-0.2.1/src/entity/molecule/id.rs +108 -0
  109. molex-0.2.1/src/entity/molecule/mod.rs +647 -0
  110. molex-0.2.1/src/entity/molecule/nucleic_acid.rs +247 -0
  111. molex-0.2.1/src/entity/molecule/polymer.rs +14 -0
  112. molex-0.2.1/src/entity/molecule/protein.rs +660 -0
  113. molex-0.2.1/src/entity/molecule/small_molecule.rs +78 -0
  114. molex-0.2.1/src/entity/molecule/traits.rs +75 -0
  115. molex-0.2.1/src/entity/surface/density.rs +191 -0
  116. molex-0.2.1/src/entity/surface/mod.rs +5 -0
  117. molex-0.2.1/src/ffi.rs +165 -0
  118. molex-0.2.1/src/lib.rs +86 -0
  119. molex-0.2.1/src/ops/codec/assembly.rs +78 -0
  120. molex-0.2.1/src/ops/codec/bridge.rs +354 -0
  121. molex-0.2.1/src/ops/codec/deserialize.rs +253 -0
  122. molex-0.2.1/src/ops/codec/mod.rs +71 -0
  123. molex-0.2.1/src/ops/codec/serialize.rs +97 -0
  124. molex-0.2.1/src/ops/codec/tests.rs +607 -0
  125. molex-0.2.1/src/ops/codec/types.rs +107 -0
  126. molex-0.2.1/src/ops/mod.rs +12 -0
  127. molex-0.2.1/src/ops/transform/alignment.rs +458 -0
  128. molex-0.2.1/src/ops/transform/extract.rs +250 -0
  129. molex-0.2.1/src/ops/transform/mod.rs +14 -0
  130. molex-0.2.1/src/python.rs +109 -0
  131. molex-0.2.1/tests/test_integration.py +51 -0
@@ -0,0 +1,63 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ env:
10
+ CARGO_TERM_COLOR: always
11
+
12
+ jobs:
13
+ check:
14
+ name: Format, Clippy, Test, Docs
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Install stable toolchain
20
+ uses: dtolnay/rust-toolchain@stable
21
+
22
+ - name: Install nightly toolchain (for rustfmt)
23
+ uses: dtolnay/rust-toolchain@nightly
24
+ with:
25
+ components: rustfmt
26
+
27
+ - name: Cache cargo registry & build
28
+ uses: Swatinem/rust-cache@v2
29
+
30
+ - name: Format check
31
+ run: cargo +nightly fmt --check
32
+
33
+ - name: Clippy
34
+ run: cargo +stable clippy --all-targets --all-features -- -D warnings
35
+
36
+ - name: Test
37
+ run: cargo +stable test --all-features
38
+
39
+ - name: Rustdoc
40
+ env:
41
+ RUSTDOCFLAGS: "-D warnings"
42
+ run: cargo +stable doc --no-deps --document-private-items
43
+
44
+ deny:
45
+ name: Dependency audit
46
+ runs-on: ubuntu-latest
47
+ steps:
48
+ - uses: actions/checkout@v4
49
+ - uses: EmbarkStudios/cargo-deny-action@v2
50
+
51
+ publish-check:
52
+ name: Publish dry-run
53
+ runs-on: ubuntu-latest
54
+ steps:
55
+ - uses: actions/checkout@v4
56
+
57
+ - uses: dtolnay/rust-toolchain@stable
58
+
59
+ - name: Cache cargo registry & build
60
+ uses: Swatinem/rust-cache@v2
61
+
62
+ - name: cargo publish --dry-run
63
+ run: cargo publish --dry-run
@@ -0,0 +1,62 @@
1
+ name: Deploy docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+ pages: write
11
+ id-token: write
12
+
13
+ concurrency:
14
+ group: pages
15
+ cancel-in-progress: true
16
+
17
+ jobs:
18
+ build:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+
23
+ - uses: dtolnay/rust-toolchain@stable
24
+
25
+ - name: Cache cargo registry & build
26
+ uses: Swatinem/rust-cache@v2
27
+
28
+ - name: Install mdbook
29
+ uses: peaceiris/actions-mdbook@v2
30
+ with:
31
+ mdbook-version: latest
32
+
33
+ - name: Build rustdoc (API reference)
34
+ env:
35
+ RUSTDOCFLAGS: "-D warnings"
36
+ run: cargo doc --no-deps --document-private-items
37
+
38
+ - name: Build mdbook (guide)
39
+ run: mdbook build docs
40
+
41
+ - name: Assemble site
42
+ run: |
43
+ mkdir -p site
44
+ # mdbook guide at root
45
+ cp -r docs/book/* site/
46
+ # rustdoc API reference under /api/
47
+ cp -r target/doc site/api
48
+
49
+ - name: Upload pages artifact
50
+ uses: actions/upload-pages-artifact@v3
51
+ with:
52
+ path: site
53
+
54
+ deploy:
55
+ needs: build
56
+ runs-on: ubuntu-latest
57
+ environment:
58
+ name: github-pages
59
+ url: ${{ github.event.repository.html_url }}
60
+ steps:
61
+ - name: Deploy to GitHub Pages
62
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,95 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags: ["v*"]
6
+
7
+ permissions:
8
+ contents: write
9
+ id-token: write
10
+
11
+ env:
12
+ CARGO_TERM_COLOR: always
13
+
14
+ jobs:
15
+ crates-io:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - uses: dtolnay/rust-toolchain@stable
20
+ - uses: Swatinem/rust-cache@v2
21
+ - name: Publish to crates.io
22
+ run: cargo publish || echo "crates.io publish skipped (already exists?)"
23
+ env:
24
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
25
+
26
+ wheels:
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ include:
31
+ - os: ubuntu-latest
32
+ target: x86_64-unknown-linux-gnu
33
+ manylinux: auto
34
+ - os: macos-14
35
+ target: aarch64-apple-darwin
36
+ manylinux: auto
37
+ - os: windows-latest
38
+ target: x86_64-pc-windows-msvc
39
+ manylinux: auto
40
+ runs-on: ${{ matrix.os }}
41
+ steps:
42
+ - uses: actions/checkout@v4
43
+
44
+ - name: Build wheel
45
+ uses: PyO3/maturin-action@v1
46
+ with:
47
+ target: ${{ matrix.target }}
48
+ manylinux: ${{ matrix.manylinux }}
49
+ command: build
50
+ args: --release --features python
51
+
52
+ - name: Upload wheel artifact
53
+ uses: actions/upload-artifact@v4
54
+ with:
55
+ name: wheel-${{ matrix.target }}
56
+ path: target/wheels/*.whl
57
+
58
+ sdist:
59
+ runs-on: ubuntu-latest
60
+ steps:
61
+ - uses: actions/checkout@v4
62
+ - name: Build sdist
63
+ uses: PyO3/maturin-action@v1
64
+ with:
65
+ command: sdist
66
+ - name: Upload sdist artifact
67
+ uses: actions/upload-artifact@v4
68
+ with:
69
+ name: sdist
70
+ path: target/wheels/*.tar.gz
71
+
72
+ pypi:
73
+ needs: [wheels, sdist]
74
+ runs-on: ubuntu-latest
75
+ steps:
76
+ - name: Download all artifacts
77
+ uses: actions/download-artifact@v4
78
+ with:
79
+ path: dist
80
+ merge-multiple: true
81
+
82
+ - name: Publish to PyPI
83
+ uses: pypa/gh-action-pypi-publish@release/v1
84
+ with:
85
+ packages-dir: dist/
86
+
87
+ github-release:
88
+ needs: [crates-io, pypi]
89
+ runs-on: ubuntu-latest
90
+ steps:
91
+ - uses: actions/checkout@v4
92
+ - name: Create GitHub release
93
+ run: gh release create ${{ github.ref_name }} --generate-notes
94
+ env:
95
+ GH_TOKEN: ${{ github.token }}
molex-0.2.1/.gitignore ADDED
@@ -0,0 +1,47 @@
1
+ # Rust
2
+ /target/
3
+ Cargo.lock
4
+
5
+ # Python
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+ *.so
10
+ *.pyd
11
+ .Python
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+
28
+ # Maturin
29
+ .maturin/
30
+
31
+ # Virtual environments
32
+ .venv/
33
+ venv/
34
+ ENV/
35
+
36
+ # IDE
37
+ .idea/
38
+ .vscode/
39
+ *.swp
40
+ *.swo
41
+ *~
42
+ .DS_Store
43
+
44
+ # Testing
45
+ .pytest_cache/
46
+ .coverage
47
+ htmlcov/