Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ jobs:
- name: Set up project environment
run: make setup

- name: Run tests
run: pipenv run pip install --editable . && pipenv run python3 -m pytest

- name: Build package
run: make build

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ docs/.doctrees/
docs/
dist/
.DS_Store
.venv/
6 changes: 4 additions & 2 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ verify_ssl = true
name = "pypi"

[packages]
pydantic = "*"
aiohttp = "*"
pydantic = ">=2.5,<3"
aiohttp = ">=3.9,<4"
python-dateutil = "*"
certifi = ">=2023.7.22"

[dev-packages]
pytest = "*"
pytest-asyncio = "*"
black = "*"
setuptools = "*"
build = "*"
Expand Down
20 changes: 13 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@

An async HTTP client to interact with the Hatching Triage Sandbox API (tria.ge).

Supports:
- Overview Reports
- Sample submission
- Sample searching
- Individual sample retrieval
- Profile getting/setting
- Yara rule getting/setting
Supports the whole Triage API (public, private, and self-hosted instances):
- Sample submission (files, URLs, fetched URLs, and imports) and interactive profile selection
- Sample searching, listing (owned/org/public), retrieval, and deletion - with pagination
- Sample events (streamed status changes)
- Overview, static, task (triage), summary, UrlScan, and kernel monitor reports
- Sample, task file (pcaps, dropped files, memory dumps, screenshots), and archive downloads
- Analysis profile management (including VPN geolocations)
- Yara rule management
- Resources (analysis environments), geolocations, and usage statistics
- Magic link tokens and organization settings
- User and API key management (private instances)

`pyhatching.testing.FakeTriage` is a fake Triage API server for testing code built on pyhatching.

Read the full documentation [here](https://gormo.co/docs/pyhatching/).
15 changes: 13 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,14 @@ description = "An async Python client for the Hatching Triage Sandbox."
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"aiohttp==3.8.4",
"pydantic==1.10.7",
"aiohttp>=3.9,<4",
"pydantic>=2.5,<3",
]

[project.optional-dependencies]
test = [
"pytest>=8",
"pytest-asyncio>=0.23",
]

[project.scripts]
Expand All @@ -29,3 +35,8 @@ Documentation = "https://gormo.co/pyhatching/"
[tool.setuptools.packages.find]
namespaces = true
where = ["src"]

[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
Loading
Loading