mcp-bytesmith 0.0.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 (43) hide show
  1. mcp_bytesmith-0.0.1/.github/FUNDING.yml +11 -0
  2. mcp_bytesmith-0.0.1/.github/ISSUE_TEMPLATE/bug_report.md +26 -0
  3. mcp_bytesmith-0.0.1/.github/ISSUE_TEMPLATE/config.yml +1 -0
  4. mcp_bytesmith-0.0.1/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
  5. mcp_bytesmith-0.0.1/.github/PULL_REQUEST_TEMPLATE.md +14 -0
  6. mcp_bytesmith-0.0.1/.github/workflows/ci.yml +35 -0
  7. mcp_bytesmith-0.0.1/.github/workflows/release.yml +45 -0
  8. mcp_bytesmith-0.0.1/.gitignore +36 -0
  9. mcp_bytesmith-0.0.1/LICENSE +674 -0
  10. mcp_bytesmith-0.0.1/PKG-INFO +93 -0
  11. mcp_bytesmith-0.0.1/README.md +62 -0
  12. mcp_bytesmith-0.0.1/TODO +503 -0
  13. mcp_bytesmith-0.0.1/plan.txt +640 -0
  14. mcp_bytesmith-0.0.1/pyproject.toml +52 -0
  15. mcp_bytesmith-0.0.1/scripts/test.sh +16 -0
  16. mcp_bytesmith-0.0.1/src/mcp_bytesmith/__init__.py +26 -0
  17. mcp_bytesmith-0.0.1/src/mcp_bytesmith/__main__.py +40 -0
  18. mcp_bytesmith-0.0.1/src/mcp_bytesmith/core.py +1315 -0
  19. mcp_bytesmith-0.0.1/src/mcp_bytesmith/eth.py +1039 -0
  20. mcp_bytesmith-0.0.1/src/mcp_bytesmith/server.py +63 -0
  21. mcp_bytesmith-0.0.1/src/mcp_bytesmith/wordlists/eff_large.txt +7776 -0
  22. mcp_bytesmith-0.0.1/tests/test_abi_codec.py +280 -0
  23. mcp_bytesmith-0.0.1/tests/test_bytes_edit.py +184 -0
  24. mcp_bytesmith-0.0.1/tests/test_charset_transcode.py +145 -0
  25. mcp_bytesmith-0.0.1/tests/test_data_uri.py +162 -0
  26. mcp_bytesmith-0.0.1/tests/test_decode.py +260 -0
  27. mcp_bytesmith-0.0.1/tests/test_encode.py +245 -0
  28. mcp_bytesmith-0.0.1/tests/test_eth_address_case.py +106 -0
  29. mcp_bytesmith-0.0.1/tests/test_eth_hash.py +165 -0
  30. mcp_bytesmith-0.0.1/tests/test_eth_selector.py +130 -0
  31. mcp_bytesmith-0.0.1/tests/test_eth_storage_slot.py +160 -0
  32. mcp_bytesmith-0.0.1/tests/test_eth_tx_codec.py +297 -0
  33. mcp_bytesmith-0.0.1/tests/test_hash.py +178 -0
  34. mcp_bytesmith-0.0.1/tests/test_info.py +57 -0
  35. mcp_bytesmith-0.0.1/tests/test_num_convert.py +138 -0
  36. mcp_bytesmith-0.0.1/tests/test_package.py +47 -0
  37. mcp_bytesmith-0.0.1/tests/test_random.py +175 -0
  38. mcp_bytesmith-0.0.1/tests/test_rlp_codec.py +203 -0
  39. mcp_bytesmith-0.0.1/tests/test_server.py +80 -0
  40. mcp_bytesmith-0.0.1/tests/test_string_escape.py +145 -0
  41. mcp_bytesmith-0.0.1/tests/test_string_unescape.py +166 -0
  42. mcp_bytesmith-0.0.1/tests/test_unicode_normalize.py +127 -0
  43. mcp_bytesmith-0.0.1/uv.lock +1556 -0
@@ -0,0 +1,11 @@
1
+ # GitHub Sponsors / funding configuration.
2
+ # This enables the "Sponsor" button on the repository.
3
+ # Sponsorship tiers (and their perks) are configured in the GitHub Sponsors
4
+ # dashboard, not in this file.
5
+
6
+ github: [laszlopere]
7
+
8
+ # Other funding platforms are also supported, e.g.:
9
+ # ko_fi: your_kofi_name
10
+ # liberapay: your_liberapay_name
11
+ # custom: ["https://example.com/donate"]
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report something that doesn't work as expected
4
+ title: ""
5
+ labels: bug
6
+ assignees: ""
7
+ ---
8
+
9
+ **What happened**
10
+ A clear description of the bug.
11
+
12
+ **What you expected**
13
+ What you expected to happen instead.
14
+
15
+ **Reproduction**
16
+ Steps or a minimal tool call / input that triggers it (please include the tool
17
+ name, e.g. `encode`, `hash`, `eth_hash`, and the exact arguments).
18
+
19
+ **Environment**
20
+ - mcp-bytesmith version: <!-- the installed package version, e.g. `pip show mcp-bytesmith` -->
21
+ - Python version: <!-- `python --version` -->
22
+ - Installed extras: <!-- e.g. ethereum / crypto / ids / validate / encoding / none -->
23
+ - OS: <!-- e.g. Ubuntu 24.04 -->
24
+
25
+ **Logs / output**
26
+ Any relevant error output (please redact secrets).
@@ -0,0 +1 @@
1
+ blank_issues_enabled: true
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an improvement or a new capability
4
+ title: ""
5
+ labels: enhancement
6
+ assignees: ""
7
+ ---
8
+
9
+ **The problem**
10
+ What are you trying to do that's hard or impossible today?
11
+
12
+ **Proposed solution**
13
+ What you'd like to see — a new tool, an option on an existing tool, a behavior
14
+ change, etc.
15
+
16
+ **Alternatives considered**
17
+ Other approaches you've thought about, including chaining existing tools.
18
+
19
+ **Additional context**
20
+ Anything else relevant (which toolset/extra it belongs to, input/output
21
+ examples, links to the relevant spec or standard).
@@ -0,0 +1,14 @@
1
+ <!-- Thanks for contributing to mcp-bytesmith! -->
2
+
3
+ **What this changes**
4
+ A short description of the change and why.
5
+
6
+ **Related issues**
7
+ Closes #<!-- issue number -->, if applicable.
8
+
9
+ **Checklist**
10
+ - [ ] `uv run ruff check .` passes
11
+ - [ ] `uv run ruff format --check .` passes
12
+ - [ ] `uv run pytest` passes
13
+ - [ ] Docs/README updated if behavior or tools changed
14
+ - [ ] New tools/options gate correctly on their toolset extra (ethereum / crypto / ids / validate / encoding)
@@ -0,0 +1,35 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master, main]
6
+ pull_request:
7
+
8
+ jobs:
9
+ test:
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ fail-fast: false
13
+ matrix:
14
+ # §8.2 — run on a current Python (3.12+).
15
+ python-version: ["3.12", "3.13"]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v6
19
+
20
+ - name: Install uv
21
+ uses: astral-sh/setup-uv@v7
22
+
23
+ - name: Install the project
24
+ # Let uv manage a project venv; installing into the runner's system
25
+ # Python fails under PEP 668 (externally managed).
26
+ run: uv sync --all-extras --python ${{ matrix.python-version }}
27
+
28
+ - name: Lint (ruff)
29
+ run: uv run ruff check .
30
+
31
+ - name: Format check (ruff)
32
+ run: uv run ruff format --check .
33
+
34
+ - name: Test (pytest)
35
+ run: uv run pytest -v
@@ -0,0 +1,45 @@
1
+ name: Release
2
+
3
+ # Publishes to PyPI via Trusted Publishing (OIDC) on a version tag, e.g. v0.2.0.
4
+ # No API tokens are stored: PyPI verifies the GitHub OIDC identity instead.
5
+ on:
6
+ push:
7
+ tags: ["v*"]
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v6
14
+
15
+ - name: Install uv
16
+ uses: astral-sh/setup-uv@v7
17
+
18
+ - name: Build sdist and wheel
19
+ run: uv build
20
+
21
+ - name: Check distributions
22
+ run: uvx twine check dist/*
23
+
24
+ - name: Upload dist artifact
25
+ uses: actions/upload-artifact@v4
26
+ with:
27
+ name: dist
28
+ path: dist/
29
+
30
+ publish:
31
+ needs: build
32
+ runs-on: ubuntu-latest
33
+ # The trusted publisher on PyPI is bound to this environment name.
34
+ environment: pypi
35
+ permissions:
36
+ id-token: write # required for OIDC
37
+ steps:
38
+ - name: Download dist artifact
39
+ uses: actions/download-artifact@v4
40
+ with:
41
+ name: dist
42
+ path: dist/
43
+
44
+ - name: Publish to PyPI
45
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,36 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Distribution / packaging
7
+ .Python
8
+ build/
9
+ dist/
10
+ *.egg-info/
11
+ *.egg
12
+ wheels/
13
+
14
+ # Virtual environments
15
+ .venv/
16
+ venv/
17
+ env/
18
+
19
+ # uv
20
+ .uv/
21
+
22
+ # Testing / coverage
23
+ .pytest_cache/
24
+ .mypy_cache/
25
+ .ruff_cache/
26
+ .coverage
27
+ .coverage.*
28
+ htmlcov/
29
+ .tox/
30
+
31
+ # Editor / OS
32
+ *.swp
33
+ *.swo
34
+ .idea/
35
+ .vscode/
36
+ .DS_Store