Skip to main content

 A horizontal tech-noir banner for the 'Anisodactyl' library. The design features a dark, textured background composed of a grid of muted grey symbols that resemble futuristic or alien hieroglyphics. At the center, two large, minimalist white icons depict an artistic representation of anisodactyl bird footprints. A metaphorical nod to 'Crow’s Foot' database notation, where the hallux represents a parent table and the forward digits represent child relations. Below the icons, the word 'Anisodactyl' is rendered in a custom, geometric 'Modern Hieroglyphic' script, bridging the gap between ancient record-keeping and modern relational database architecture

Anisodactyl

One CRUD to rule them all.

This tries to solve the following problems:

  • Headless CRUD Wrapper - Programmatic and configurable CRUD system for models.
  • Automatic CRUD API Endpoints - Create, Get, Get All, Patch Update and Delete REST API Endpoints for any database table.
  • Schema Driven URL Sorting and Filtering - URL based sorting and filtering automatically available to all properties listed in schema.
  • Swappable URL Conventions - Pick and choose between different URL conventions.
  • Nested Database Mutations - Generic CRUD for nested databases. Eliminate N+1 network requests.

Anisodactyl Foot Prints

👀 Vision

A typical CRUD interfaces db structure in a way where each table is a node:

Parent? --- Current --< Children?

Every table in your interconnected database sits at the center of it's own relationship graph; optional Parent pointing inwards and optional Children pointing outwards.

graph TD

c1(
  <b>Child 1</b>
  Timetable
  Appointments
)
c2(
  <b>Child 2</b>
  Schedule
  Designations
)
c3(
  <b>Child N</b>
  Address
  Contacts
)
s(
  <b>Self</b>
  Staffs,Teachers
  Employees,Trainees
  Students,etc.
)
p(
  <b>Parent</b>
  Company
  School
  Library
  Bakery
  etc.
)

c1 & c2 & c3 === s === p

The diagram above forms the shape of an anisodactyl "crow foot" - digits (children), hallux (parent), connected through the central tarsometatarsus self.

Current object can be anything. It can be one of the children as well, being able to create any graph like structure imaginable.


Anisodactyl Foot Prints

📚 Notes

Query Parameter Conventions

JSON API

// ?filter[key_name][operator]=value&[key_name][operator]=value
?filter%5Bkey_name%5D%5Boperator%5D=value&%5Bkey_name%5D%5Boperator%5D=value

but [ and ] gets encoded into %5B and %5D which makes URLs ugly and unreadable.

Django REST Framework

// ?post_tag=fiction&comment_count__gt=10
?key_name__operator=value&key_name__operator=value

The python standard due to Django influence.

Anisodactyl

// ?post_tag=fiction&comment_count=gt:10
?key_name=operator:value&key_name=operator:value
// ?fields=name,email
?fields=key1,key2,key3
// ?sort=-name
?sort=-field,field

Super clean, simple and developer centric.


Anisodactyl Foot Prints

Metadata

Release files for anisodactyl 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for anisodactyl 0.1.0
File Size Uploaded Provenance
anisodactyl-0.1.0.tar.gz 106.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for anisodactyl 0.1.0
File Interpreter ABI Platform
anisodactyl-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 117.8 kB

Release files / anisodactyl-0.1.0.tar.gz

Download URL anisodactyl-0.1.0.tar.gz
Size 106.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3a8aa81d97e92736c52bf6cdff54c58174708460aa570e9c86d5bc33f7439b27
BLAKE2b-256 checksum
How to use checksums
2eae82a6c8aa4ac6c113fedf479603e0d035c59a751903b8080cfe79fb73e647
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / anisodactyl-0.1.0-py3-none-any.whl

Download URL anisodactyl-0.1.0-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a847108126f1972ea0b4388a97ffc906e17e4fc6c6ff6eeeb7773cfe6fa68ce
BLAKE2b-256 checksum
How to use checksums
cefca3a500afe8e50f1554bdec2a84cfcbcfadaa8b57e34764015c20d73188a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Security for anisodactyl 0.1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page