eth-pydantic-types 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.
- eth-pydantic-types-0.1.0/.github/FUNDING.yml +1 -0
- eth-pydantic-types-0.1.0/.github/ISSUE_TEMPLATE/bug.md +38 -0
- eth-pydantic-types-0.1.0/.github/ISSUE_TEMPLATE/feature.md +22 -0
- eth-pydantic-types-0.1.0/.github/ISSUE_TEMPLATE/work-item.md +47 -0
- eth-pydantic-types-0.1.0/.github/PULL_REQUEST_TEMPLATE.md +23 -0
- eth-pydantic-types-0.1.0/.github/release-drafter.yml +39 -0
- eth-pydantic-types-0.1.0/.github/workflows/codeql.yml +34 -0
- eth-pydantic-types-0.1.0/.github/workflows/commitlint.yaml +28 -0
- eth-pydantic-types-0.1.0/.github/workflows/docs.yaml +59 -0
- eth-pydantic-types-0.1.0/.github/workflows/draft.yaml +19 -0
- eth-pydantic-types-0.1.0/.github/workflows/prtitle.yaml +30 -0
- eth-pydantic-types-0.1.0/.github/workflows/publish.yaml +32 -0
- eth-pydantic-types-0.1.0/.github/workflows/stale-prs.yml +20 -0
- eth-pydantic-types-0.1.0/.github/workflows/test.yaml +110 -0
- eth-pydantic-types-0.1.0/.gitignore +156 -0
- eth-pydantic-types-0.1.0/.pre-commit-config.yaml +36 -0
- eth-pydantic-types-0.1.0/LICENSE +201 -0
- eth-pydantic-types-0.1.0/PKG-INFO +129 -0
- eth-pydantic-types-0.1.0/README.md +99 -0
- eth-pydantic-types-0.1.0/build_docs.py +89 -0
- eth-pydantic-types-0.1.0/cz-requirement.txt +1 -0
- eth-pydantic-types-0.1.0/docs/_static/custom.css +311 -0
- eth-pydantic-types-0.1.0/docs/_static/custom.js +36 -0
- eth-pydantic-types-0.1.0/docs/_templates/layout.html +259 -0
- eth-pydantic-types-0.1.0/docs/conf.py +115 -0
- eth-pydantic-types-0.1.0/docs/favicon.ico +0 -0
- eth-pydantic-types-0.1.0/docs/index.md +19 -0
- eth-pydantic-types-0.1.0/docs/logo.gif +0 -0
- eth-pydantic-types-0.1.0/docs/methoddocs/address.md +7 -0
- eth-pydantic-types-0.1.0/docs/methoddocs/hash.md +7 -0
- eth-pydantic-types-0.1.0/docs/methoddocs/hex.md +7 -0
- eth-pydantic-types-0.1.0/docs/userguides/quickstart.md +2 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/__init__.py +37 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/_error.py +27 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/address.py +52 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/bip122.py +84 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/hash.py +121 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/hex.py +124 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/py.typed +0 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/serializers.py +3 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/validators.py +58 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types/version.py +16 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types.egg-info/PKG-INFO +129 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types.egg-info/SOURCES.txt +55 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types.egg-info/dependency_links.txt +1 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types.egg-info/not-zip-safe +1 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types.egg-info/requires.txt +69 -0
- eth-pydantic-types-0.1.0/eth_pydantic_types.egg-info/top_level.txt +1 -0
- eth-pydantic-types-0.1.0/pyproject.toml +41 -0
- eth-pydantic-types-0.1.0/setup.cfg +12 -0
- eth-pydantic-types-0.1.0/setup.py +105 -0
- eth-pydantic-types-0.1.0/tests/conftest.py +6 -0
- eth-pydantic-types-0.1.0/tests/test_address.py +65 -0
- eth-pydantic-types-0.1.0/tests/test_bip122.py +45 -0
- eth-pydantic-types-0.1.0/tests/test_hash.py +135 -0
- eth-pydantic-types-0.1.0/tests/test_hex.py +131 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
github: ApeWorX
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Report an error that you've encountered.
|
|
4
|
+
labels: 'category: bug'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Environment information
|
|
8
|
+
|
|
9
|
+
- OS: macOS / linux / win
|
|
10
|
+
- Python Version: x.x.x
|
|
11
|
+
- `ape` and plugin versions:
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
$ ape --version
|
|
15
|
+
# ...copy and paste result of above command here...
|
|
16
|
+
|
|
17
|
+
$ ape plugins list
|
|
18
|
+
# ...copy and paste result of above command here...
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- Contents of your `ape-config.yaml` (NOTE: do not post anything private like RPC urls or secrets!):
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
$ cat ape-config.yaml
|
|
25
|
+
# ...copy and paste result of above command here...
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### What went wrong?
|
|
29
|
+
|
|
30
|
+
Please include information like:
|
|
31
|
+
|
|
32
|
+
- what command you ran
|
|
33
|
+
- the code that caused the failure (see [this link](https://help.github.com/articles/basic-writing-and-formatting-syntax/) for help with formatting code)
|
|
34
|
+
- full output of the error you received
|
|
35
|
+
|
|
36
|
+
### How can it be fixed?
|
|
37
|
+
|
|
38
|
+
Fill this in if you have ideas on how the bug could be fixed.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Request a new feature, or an improvement to existing functionality.
|
|
4
|
+
labels: 'category: feature'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Overview
|
|
8
|
+
|
|
9
|
+
Provide a simple overview of what you wish to see added. Please include:
|
|
10
|
+
|
|
11
|
+
- What you are trying to do
|
|
12
|
+
- Why Ape's current functionality is inadequate to address your goal
|
|
13
|
+
|
|
14
|
+
### Specification
|
|
15
|
+
|
|
16
|
+
Describe the syntax and semantics of how you would like to see this feature implemented. The more detailed the better!
|
|
17
|
+
|
|
18
|
+
Remember, your feature is much more likely to be included if it does not involve any breaking changes.
|
|
19
|
+
|
|
20
|
+
### Dependencies
|
|
21
|
+
|
|
22
|
+
Include links to any open issues that must be resolved before this feature can be implemented.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Work item
|
|
3
|
+
about: New work item for Ape team
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
### Elevator pitch:
|
|
7
|
+
|
|
8
|
+
<!-- 1-2 line summary of the scope of this work item -->
|
|
9
|
+
|
|
10
|
+
### Value:
|
|
11
|
+
|
|
12
|
+
<!--
|
|
13
|
+
Who is this for?
|
|
14
|
+
Persona or group of people whom will derive value from the scenario.
|
|
15
|
+
What benefits will be achieved or business metrics improved?
|
|
16
|
+
-->
|
|
17
|
+
|
|
18
|
+
### Dependencies:
|
|
19
|
+
|
|
20
|
+
<!-- Call out key people, teams, tech dependencies, or assumptions. -->
|
|
21
|
+
|
|
22
|
+
### Design approach:
|
|
23
|
+
|
|
24
|
+
<!--
|
|
25
|
+
Free text / diagram / whiteboard picture / etc. that clearly shows your approach and considerations to build the task list.
|
|
26
|
+
Existing code patterns in production code base that you will base your work off of.
|
|
27
|
+
-->
|
|
28
|
+
|
|
29
|
+
### Task list:
|
|
30
|
+
|
|
31
|
+
<!-- Bulleted list describing the exit criteria, desired end state and any documentation, monitors, work for DRI, etc. that will need to be added to make sure someone else can support once it's live. -->
|
|
32
|
+
|
|
33
|
+
- \[ \] Tasks go here
|
|
34
|
+
|
|
35
|
+
### Estimated completion date:
|
|
36
|
+
|
|
37
|
+
### Design review:
|
|
38
|
+
|
|
39
|
+
<!-- 1-2 people needed for signoff -->
|
|
40
|
+
|
|
41
|
+
Do not signoff unless:
|
|
42
|
+
|
|
43
|
+
- 1. agreed the tasks and design approach will achieve acceptance, and
|
|
44
|
+
- 2. the work can be completed by one person within the SLA.
|
|
45
|
+
Design reviewers should consider simpler approaches to achieve goals.
|
|
46
|
+
|
|
47
|
+
(Please leave a comment to sign off)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
### What I did
|
|
2
|
+
|
|
3
|
+
<!-- Create a summary of the changes -->
|
|
4
|
+
|
|
5
|
+
<!-- The `fixes:` field denotes an issue that will be marked resolved by merging this PR -->
|
|
6
|
+
|
|
7
|
+
fixes: #
|
|
8
|
+
|
|
9
|
+
### How I did it
|
|
10
|
+
|
|
11
|
+
<!-- Discuss the thought process behind the change -->
|
|
12
|
+
|
|
13
|
+
### How to verify it
|
|
14
|
+
|
|
15
|
+
<!-- Discuss any methods that should be used to verify the change -->
|
|
16
|
+
|
|
17
|
+
### Checklist
|
|
18
|
+
|
|
19
|
+
<!-- All PRs must complete the following checklist before being merged -->
|
|
20
|
+
|
|
21
|
+
- [ ] All changes are completed
|
|
22
|
+
- [ ] New test cases have been added
|
|
23
|
+
- [ ] Documentation has been updated
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name-template: '$RESOLVED_VERSION'
|
|
2
|
+
tag-template: 'v$RESOLVED_VERSION'
|
|
3
|
+
|
|
4
|
+
categories:
|
|
5
|
+
- title: 'Features'
|
|
6
|
+
labels:
|
|
7
|
+
- 'feat'
|
|
8
|
+
- title: 'Bug Fixes'
|
|
9
|
+
labels:
|
|
10
|
+
- 'fix'
|
|
11
|
+
- title: 'Other updates'
|
|
12
|
+
labels:
|
|
13
|
+
- 'refactor'
|
|
14
|
+
- 'chore'
|
|
15
|
+
- 'docs'
|
|
16
|
+
- 'perf'
|
|
17
|
+
- 'test'
|
|
18
|
+
|
|
19
|
+
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
|
|
20
|
+
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
|
|
21
|
+
|
|
22
|
+
version-resolver:
|
|
23
|
+
major:
|
|
24
|
+
labels:
|
|
25
|
+
- 'major'
|
|
26
|
+
minor:
|
|
27
|
+
labels:
|
|
28
|
+
- 'minor'
|
|
29
|
+
patch:
|
|
30
|
+
labels:
|
|
31
|
+
- 'patch'
|
|
32
|
+
default: patch
|
|
33
|
+
|
|
34
|
+
template: |
|
|
35
|
+
## Changes
|
|
36
|
+
|
|
37
|
+
$CHANGES
|
|
38
|
+
|
|
39
|
+
Special thanks to: $CONTRIBUTORS
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: "CodeQL"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ "main" ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ "main" ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
analyze:
|
|
11
|
+
name: Analyze
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
permissions:
|
|
14
|
+
actions: read
|
|
15
|
+
contents: read
|
|
16
|
+
security-events: write
|
|
17
|
+
|
|
18
|
+
strategy:
|
|
19
|
+
fail-fast: false
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- name: Checkout repository
|
|
23
|
+
uses: actions/checkout@v3
|
|
24
|
+
|
|
25
|
+
- name: Initialize CodeQL
|
|
26
|
+
uses: github/codeql-action/init@v2
|
|
27
|
+
with:
|
|
28
|
+
languages: python
|
|
29
|
+
|
|
30
|
+
- name: Autobuild
|
|
31
|
+
uses: github/codeql-action/autobuild@v2
|
|
32
|
+
|
|
33
|
+
- name: Perform CodeQL Analysis
|
|
34
|
+
uses: github/codeql-action/analyze@v2
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
on: push
|
|
2
|
+
|
|
3
|
+
name: Commit Message
|
|
4
|
+
|
|
5
|
+
# NOTE: Skip check on PR so as not to confuse contributors
|
|
6
|
+
# NOTE: Also install a PR title checker so we don't mess up merges
|
|
7
|
+
jobs:
|
|
8
|
+
commit-msg:
|
|
9
|
+
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v3
|
|
14
|
+
with:
|
|
15
|
+
fetch-depth: 0
|
|
16
|
+
|
|
17
|
+
- name: Setup Python
|
|
18
|
+
uses: actions/setup-python@v4
|
|
19
|
+
with:
|
|
20
|
+
python-version: "3.10"
|
|
21
|
+
|
|
22
|
+
- name: Install Dependencies
|
|
23
|
+
run: |
|
|
24
|
+
python -m pip install --upgrade pip
|
|
25
|
+
pip install -r cz-requirement.txt
|
|
26
|
+
|
|
27
|
+
- name: Check commit history
|
|
28
|
+
run: cz check --rev-range $(git rev-list --all --reverse | head -1)..HEAD
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
name: Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
release:
|
|
7
|
+
types: [released]
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize]
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
docs:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
permissions:
|
|
15
|
+
contents: write
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v3
|
|
19
|
+
|
|
20
|
+
- name: Setup Python
|
|
21
|
+
uses: actions/setup-python@v4
|
|
22
|
+
with:
|
|
23
|
+
python-version: "3.10"
|
|
24
|
+
|
|
25
|
+
- name: Install Dependencies
|
|
26
|
+
run: |
|
|
27
|
+
python -m pip install --upgrade pip
|
|
28
|
+
pip install .[doc]
|
|
29
|
+
|
|
30
|
+
- name: Build HTML artifact
|
|
31
|
+
run: python build_docs.py
|
|
32
|
+
|
|
33
|
+
- name: Upload HTML artifact
|
|
34
|
+
uses: actions/upload-artifact@v3
|
|
35
|
+
with:
|
|
36
|
+
name: DocumentationHTML
|
|
37
|
+
path: docs/_build/ape
|
|
38
|
+
|
|
39
|
+
- name: Commit and publish documentation changes to gh-pages branch
|
|
40
|
+
run: |
|
|
41
|
+
if [[ "${GITHUB_EVENT_NAME}" =~ "pull_request" ]]; then
|
|
42
|
+
echo "skipping 'git commit' step for PR"
|
|
43
|
+
else
|
|
44
|
+
git clone https://github.com/${GITHUB_REPOSITORY} --branch gh-pages --single-branch gh-pages
|
|
45
|
+
cp -r docs/_build/eth_pydantic_types/* gh-pages/
|
|
46
|
+
cd gh-pages
|
|
47
|
+
touch .nojekyll
|
|
48
|
+
git config --local user.email "action@github.com"
|
|
49
|
+
git config --local user.name "GitHub Action"
|
|
50
|
+
git add .
|
|
51
|
+
git commit -m "Update documentation" -a || true
|
|
52
|
+
fi
|
|
53
|
+
- name: Push changes
|
|
54
|
+
uses: ad-m/github-push-action@master
|
|
55
|
+
if: ${{ github.event_name != 'pull_request' }}
|
|
56
|
+
with:
|
|
57
|
+
branch: gh-pages
|
|
58
|
+
directory: gh-pages
|
|
59
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: Release Drafter
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
update-draft:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
steps:
|
|
14
|
+
# Drafts your next Release notes as Pull Requests are merged into "main"
|
|
15
|
+
- uses: release-drafter/release-drafter@v5
|
|
16
|
+
with:
|
|
17
|
+
disable-autolabeler: true
|
|
18
|
+
env:
|
|
19
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: PR Title
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request_target:
|
|
5
|
+
types:
|
|
6
|
+
- opened
|
|
7
|
+
- edited
|
|
8
|
+
- synchronize
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
pr-title:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v3
|
|
16
|
+
|
|
17
|
+
- name: Setup Python
|
|
18
|
+
uses: actions/setup-python@v4
|
|
19
|
+
with:
|
|
20
|
+
python-version: "3.10"
|
|
21
|
+
|
|
22
|
+
- name: Install Dependencies
|
|
23
|
+
run: |
|
|
24
|
+
python -m pip install --upgrade pip
|
|
25
|
+
pip install -r cz-requirement.txt
|
|
26
|
+
|
|
27
|
+
- name: Check PR Title
|
|
28
|
+
env:
|
|
29
|
+
TITLE: ${{ github.event.pull_request.title }}
|
|
30
|
+
run: cz check --message "$TITLE"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [released]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
deploy:
|
|
9
|
+
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v3
|
|
14
|
+
|
|
15
|
+
- name: Set up Python
|
|
16
|
+
uses: actions/setup-python@v4
|
|
17
|
+
with:
|
|
18
|
+
python-version: "3.10"
|
|
19
|
+
|
|
20
|
+
- name: Install dependencies
|
|
21
|
+
run: |
|
|
22
|
+
python -m pip install --upgrade pip
|
|
23
|
+
pip install -e .[release]
|
|
24
|
+
|
|
25
|
+
- name: Build
|
|
26
|
+
run: python setup.py sdist bdist_wheel
|
|
27
|
+
|
|
28
|
+
- name: Publish
|
|
29
|
+
env:
|
|
30
|
+
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
|
|
31
|
+
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
|
32
|
+
run: twine upload dist/*
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: "Close stale PRs"
|
|
2
|
+
on:
|
|
3
|
+
schedule:
|
|
4
|
+
- cron: '30 1 * * *'
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
stale:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
permissions:
|
|
10
|
+
pull-requests: write
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/stale@v6
|
|
13
|
+
with:
|
|
14
|
+
stale-pr-message: 'This pull request is considered stale because it has been open 30 days with no activity. Remove stale label, add a comment, or make a new commit, otherwise this PR will be closed in 5 days.'
|
|
15
|
+
close-pr-message: 'This PR was closed because it has been inactive for 35 days.'
|
|
16
|
+
stale-pr-label: "stale"
|
|
17
|
+
close-pr-label: "inactive"
|
|
18
|
+
days-before-pr-stale: 30
|
|
19
|
+
days-before-pr-close: 5
|
|
20
|
+
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
on: ["push", "pull_request"]
|
|
2
|
+
|
|
3
|
+
name: Test
|
|
4
|
+
|
|
5
|
+
concurrency:
|
|
6
|
+
# Cancel older, in-progress jobs from the same PR, same workflow.
|
|
7
|
+
# use run_id if the job is triggered by a push to ensure
|
|
8
|
+
# push-triggered jobs to not get canceled.
|
|
9
|
+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
10
|
+
cancel-in-progress: true
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
linting:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v3
|
|
18
|
+
|
|
19
|
+
- name: Setup Python
|
|
20
|
+
uses: actions/setup-python@v4
|
|
21
|
+
with:
|
|
22
|
+
python-version: "3.10"
|
|
23
|
+
|
|
24
|
+
- name: Install Dependencies
|
|
25
|
+
run: |
|
|
26
|
+
python -m pip install --upgrade pip
|
|
27
|
+
pip install .[lint]
|
|
28
|
+
|
|
29
|
+
- name: Run Black
|
|
30
|
+
run: black --check .
|
|
31
|
+
|
|
32
|
+
- name: Run isort
|
|
33
|
+
run: isort --check-only .
|
|
34
|
+
|
|
35
|
+
- name: Run flake8
|
|
36
|
+
run: flake8 .
|
|
37
|
+
|
|
38
|
+
- name: Run mdformat
|
|
39
|
+
run: mdformat . --check
|
|
40
|
+
|
|
41
|
+
type-check:
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
|
|
44
|
+
steps:
|
|
45
|
+
- uses: actions/checkout@v3
|
|
46
|
+
|
|
47
|
+
- name: Setup Python
|
|
48
|
+
uses: actions/setup-python@v4
|
|
49
|
+
with:
|
|
50
|
+
python-version: "3.10"
|
|
51
|
+
|
|
52
|
+
- name: Install Dependencies
|
|
53
|
+
run: |
|
|
54
|
+
python -m pip install --upgrade pip
|
|
55
|
+
pip install .[lint,test]
|
|
56
|
+
|
|
57
|
+
- name: Run MyPy
|
|
58
|
+
run: mypy .
|
|
59
|
+
|
|
60
|
+
functional:
|
|
61
|
+
runs-on: ${{ matrix.os }}
|
|
62
|
+
|
|
63
|
+
strategy:
|
|
64
|
+
matrix:
|
|
65
|
+
os: [ubuntu-latest, macos-latest] # eventually add `windows-latest`
|
|
66
|
+
python-version: [3.8, 3.9, "3.10", "3.11", "3.12"]
|
|
67
|
+
|
|
68
|
+
env:
|
|
69
|
+
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
70
|
+
|
|
71
|
+
steps:
|
|
72
|
+
- uses: actions/checkout@v3
|
|
73
|
+
with:
|
|
74
|
+
fetch-depth: 0
|
|
75
|
+
|
|
76
|
+
- name: Setup Python
|
|
77
|
+
uses: actions/setup-python@v4
|
|
78
|
+
with:
|
|
79
|
+
python-version: ${{ matrix.python-version }}
|
|
80
|
+
|
|
81
|
+
- name: Install Dependencies
|
|
82
|
+
run: |
|
|
83
|
+
python -m pip install --upgrade pip
|
|
84
|
+
pip uninstall eth-ape --yes
|
|
85
|
+
pip install .[test]
|
|
86
|
+
|
|
87
|
+
- name: Run Tests
|
|
88
|
+
run: pytest -m "not fuzzing" -s
|
|
89
|
+
|
|
90
|
+
# fuzzing:
|
|
91
|
+
# runs-on: ubuntu-latest
|
|
92
|
+
#
|
|
93
|
+
# strategy:
|
|
94
|
+
# fail-fast: true
|
|
95
|
+
#
|
|
96
|
+
# steps:
|
|
97
|
+
# - uses: actions/checkout@v3
|
|
98
|
+
#
|
|
99
|
+
# - name: Setup Python
|
|
100
|
+
# uses: actions/setup-python@v4
|
|
101
|
+
# with:
|
|
102
|
+
# python-version: "3.10"
|
|
103
|
+
#
|
|
104
|
+
# - name: Install Dependencies
|
|
105
|
+
# run: |
|
|
106
|
+
# python -m pip install --upgrade pip
|
|
107
|
+
# pip install .[test]
|
|
108
|
+
#
|
|
109
|
+
# - name: Run Tests
|
|
110
|
+
# run: pytest -m "fuzzing" --no-cov -s
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Usually these files are written by a python script from a template
|
|
31
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.nox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*.cover
|
|
49
|
+
*.py,cover
|
|
50
|
+
.hypothesis/
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
cover/
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
*.log
|
|
60
|
+
local_settings.py
|
|
61
|
+
db.sqlite3
|
|
62
|
+
db.sqlite3-journal
|
|
63
|
+
|
|
64
|
+
# Flask stuff:
|
|
65
|
+
instance/
|
|
66
|
+
.webassets-cache
|
|
67
|
+
|
|
68
|
+
# Scrapy stuff:
|
|
69
|
+
.scrapy
|
|
70
|
+
|
|
71
|
+
# Sphinx documentation
|
|
72
|
+
docs/_build/
|
|
73
|
+
|
|
74
|
+
# PyBuilder
|
|
75
|
+
.pybuilder/
|
|
76
|
+
target/
|
|
77
|
+
|
|
78
|
+
# Jupyter Notebook
|
|
79
|
+
.ipynb_checkpoints
|
|
80
|
+
|
|
81
|
+
# IPython
|
|
82
|
+
profile_default/
|
|
83
|
+
ipython_config.py
|
|
84
|
+
|
|
85
|
+
# pyenv
|
|
86
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
87
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
88
|
+
# .python-version
|
|
89
|
+
|
|
90
|
+
# pipenv
|
|
91
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
92
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
93
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
94
|
+
# install all needed dependencies.
|
|
95
|
+
#Pipfile.lock
|
|
96
|
+
|
|
97
|
+
# poetry
|
|
98
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
99
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
100
|
+
# commonly ignored for libraries.
|
|
101
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
102
|
+
#poetry.lock
|
|
103
|
+
|
|
104
|
+
# pdm
|
|
105
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
106
|
+
#pdm.lock
|
|
107
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
108
|
+
# in version control.
|
|
109
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
110
|
+
.pdm.toml
|
|
111
|
+
|
|
112
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
113
|
+
__pypackages__/
|
|
114
|
+
|
|
115
|
+
# Celery stuff
|
|
116
|
+
celerybeat-schedule
|
|
117
|
+
celerybeat.pid
|
|
118
|
+
|
|
119
|
+
# SageMath parsed files
|
|
120
|
+
*.sage.py
|
|
121
|
+
|
|
122
|
+
# Environments
|
|
123
|
+
.env
|
|
124
|
+
.venv
|
|
125
|
+
env/
|
|
126
|
+
venv/
|
|
127
|
+
ENV/
|
|
128
|
+
env.bak/
|
|
129
|
+
venv.bak/
|
|
130
|
+
|
|
131
|
+
# Spyder project settings
|
|
132
|
+
.spyderproject
|
|
133
|
+
.spyproject
|
|
134
|
+
|
|
135
|
+
# Rope project settings
|
|
136
|
+
.ropeproject
|
|
137
|
+
|
|
138
|
+
# mkdocs documentation
|
|
139
|
+
/site
|
|
140
|
+
|
|
141
|
+
# mypy
|
|
142
|
+
.mypy_cache/
|
|
143
|
+
.dmypy.json
|
|
144
|
+
dmypy.json
|
|
145
|
+
|
|
146
|
+
# Pyre type checker
|
|
147
|
+
.pyre/
|
|
148
|
+
|
|
149
|
+
# pytype static type analyzer
|
|
150
|
+
.pytype/
|
|
151
|
+
|
|
152
|
+
# Cython debug symbols
|
|
153
|
+
cython_debug/
|
|
154
|
+
|
|
155
|
+
.build/
|
|
156
|
+
eth_pydantic_types/version.py
|