Skip to main content

Minimal database access library

Project description

Medial - minimal database assistance library

Medial is not an abstraction layer to magically make your classes persistent. it merely tries to alleviate some of the tedium, hopefully not by adding more tedium or new complexity.

Knowledge of SQL is still necessary, as well as the specific flavour(s) used. Medial currently supports SQLite and Postgres.

API documentation is available.

Example usage

import medial

class Thing(Persistent):

  table = 'things'
  key = 'name'
  persistence = {
    'name': {
    },
    'description': {
    }
  }

  def __init__(self, name=None, description=None, new=False):

    if name and not new:
      # lookup
      super().__init__(name)
    else:
      # new object
      super().__init__()
      self.name = name
      self.description = description

# configure medial
medial.configure('file:///tmp/example.sqlite')

# lookup thing or create new thing
try:
  # lookup
  t = Thing(name='example')
except medial.exceptions.ObjectNotFound:
  # create
  t = Thing(name='example', new=True)
  t.commit()

Status

Medial is in active development. Due to its minimal design, features you may expect (relations, for example) are easily implemented with regular SQL, but if/when new features are introduced (relations, for example), existing code will almost certainly continue to work.

Current features

  • SQLite and Postgres
  • Python enumerations
  • Validation and setter override functions

Planned features

  • Relations

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

medial-0.4.6.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

medial-0.4.6-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file medial-0.4.6.tar.gz.

File metadata

  • Download URL: medial-0.4.6.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.7

File hashes

Hashes for medial-0.4.6.tar.gz
Algorithm Hash digest
SHA256 1ac279582ab5cf8aa9e1f8ead37e9b61b769be9c5e260d1b45feaaf1eafa9d43
MD5 e0bbc6a835cf0841048c0b2b25c433ba
BLAKE2b-256 255c18bd179dcbff25fe6e5af318d703c2d8ccf2ad5005a25b6da76bfa4b3120

See more details on using hashes here.

File details

Details for the file medial-0.4.6-py3-none-any.whl.

File metadata

  • Download URL: medial-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.7

File hashes

Hashes for medial-0.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8cb377e184a603b53896f761d52acc7c7897d564707a6b8920d597cd8026d331
MD5 ed43c094869c9531863c23439ae77be7
BLAKE2b-256 56a005d57ddbe9c491fd0a093c8ddc72d241bd97bd63a61da2de31e63c1aea2e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page