spider-core
spider-core is a reusable Django/DRF helper library extracted from the Spiderkube admin project.
It provides:
- Django model mixins and base classes
- DRF API abstractions for CRUD and list views
- serializer helpers
- admin base classes
- reusable decorators and exceptions
- caching helpers
- secure storage helpers
- JSON serializer utilities
- field validators
Installation
Install the package locally from the repository root:
pip install -e .
Install with optional admin helpers:
pip install -e .[admin]
Install with optional storage helpers:
pip install -e .[storage]
Install directly from GitHub:
pip install git+https://github.com/xooshe/spider-core.git
Install from PyPI:
pip install spider-core-x
Install with optional admin helpers from PyPI:
pip install spider-core-x[admin]
Install with optional storage helpers from PyPI:
pip install spider-core-x[storage]
CI / Publishing
A GitHub Actions workflow is included at .github/workflows/publish.yml. It:
- runs unit tests on push and pull request
- builds the package on push and pull request
- publishes to PyPI when a
v*tag is pushed
No secrets are needed—the workflow uses OIDC trusted publishing for PyPI authentication.
Git Hooks
This repository includes a versioned hook script at .githooks/pre-push, and the current checkout also installs the hook into .git/hooks/pre-push.
The hook validates tag pushes so tags starting with v must match the version defined in pyproject.toml (without the v prefix).
Install or reinstall the hook in a fresh clone with:
./scripts/install-git-hooks.sh
Alternatively, enable the repository hooks directory directly:
git config core.hooksPath .githooks
Use standard tag push syntax so the hook executes correctly:
git tag v0.1.1
git push origin v0.1.1
The workflow will automatically build and publish spider-core-x to PyPI.
Usage
from spider.api import ModelGetApi
from spider.models import AbstractBaseModel
from spider.serializers import ModelSerializer
from spider.decorators import api_response
Package structure
spider/apispider/adminspider/modelsspider/serializersspider/decoratorsspider/exeptionsspider/storagespider/utilsspider/validators
Release files for spider-core-x 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spider_core_x-0.0.3.tar.gz | 20.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spider_core_x-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.4 kB
Release files / spider_core_x-0.0.3.tar.gz
| Download URL | spider_core_x-0.0.3.tar.gz |
|---|---|
| Size | 20.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f194e47e86b548384eb5ffbac01856600797d4acde0c775493fad7b81b8690d
|
|
BLAKE2b-256 checksum How to use checksums |
7ddd1e7edfbe54caaa6a33360ceecb0fbb3f215098b91a3195e54785d85b9d3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 3, 2026.
Transparency logRelease files / spider_core_x-0.0.3-py3-none-any.whl
| Download URL | spider_core_x-0.0.3-py3-none-any.whl |
|---|---|
| Size | 28.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd916c2f953c3a2b023bd83a477d24a9af2f654919d2d25ec172c7a97abd0abc
|
|
BLAKE2b-256 checksum How to use checksums |
d10390ff16f8b1e6b7e8981432219d6db29cb9dc9a875a68ee01b2336eda9196
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 3, 2026.
Transparency log