Skip to main content

Information systems core.

Project description

Prolog

Django IS Core is a lightweight framework built on Django. It augments Django great design patterns and minimizes annoying programming work. It takes best from Django-admin. ISCore provides a simple way how to build a rich administration. It is very simlar to Django admin but there are several differences that justifies why IS Core is created.

Features

  • same detail/add/table views as Django admin, but it uses REST and AJAX call to achieve it (it adds easier usage and broaden usability)
  • it can be used for creation only REST resources without UI
  • models UI (add/detail) is more linked together, links between foreign keys are automatically added
  • it provides more posibilities for read-only fields (e.g. the fields defined only inside form can be readonly too)
  • add new custom view is for Django admin is nightmare, with IS Core is very easy
  • it uses class based views, it is cleaner and changes are simplier
  • add new model administration without its registration
  • generated forms from models with validations
  • generated REST resources from models again with validations (no code duplication)
  • automatic exports to XLSX, PDF, CSV can be very simply add to a table view
  • automatic filtering and sorting for list views
  • pre-built reusable views and forms
  • automatic CRUD views for models (with REST resources)
  • authorization (token based) and permissions
  • advanced permissions (e.g. a link between objects is not added to UI if a user does not have permissions to see it)
  • and much more ...

Docs

For more details see docs

Development Setup

All development (running tests, building docs, etc.) is done through the example application. The example app's virtual environment includes django-is-core installed in editable mode along with all required dependencies.

Prerequisites

  • Python 3
  • virtualenv command available
  • Docker (for running required services)

Setting Up the Development Environment

  1. Navigate to the example directory:

    cd example
    
  2. Start the required Docker services (Elasticsearch and DynamoDB):

    make runservices
    
  3. Install and set up the application:

    make install
    

    This will:

    • Create a virtual environment at example/var/ve
    • Install django-is-core in editable mode (from the parent directory)
    • Install all dependencies (Django, test tools, etc.)
    • Initialize the database
    • Set up logging directories
  4. Activate the virtual environment:

    source var/ve/bin/activate
    

Running Tests

With the virtual environment activated:

cd example
make test

Running the Example Application

cd example
make runserver

The application will be available at http://localhost:8080

Stopping Services

When done, stop the Docker services:

make stopservices

Other Useful Commands

From the example directory:

make clean          # Remove Python bytecode files
make resetdb        # Reset the database
make showurls       # Display all registered URLs

Building Documentation

Documentation requires the example app's virtual environment since it uses autodoc to generate API documentation from the django-is-core source code.

  1. First, set up the development environment (see above)

  2. Install documentation dependencies:

    source example/var/ve/bin/activate
    pip install sphinx sphinx_rtd_theme
    
  3. Build the HTML documentation:

    cd docs
    make html
    
  4. View the documentation by opening docs/.build/html/index.html in your browser, or serve it locally:

    python -m http.server 8000 --directory .build/html
    

    Then visit http://localhost:8000

Contribution

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

skip_django_is_core-2.28.1.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skip_django_is_core-2.28.1-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file skip_django_is_core-2.28.1.tar.gz.

File metadata

  • Download URL: skip_django_is_core-2.28.1.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for skip_django_is_core-2.28.1.tar.gz
Algorithm Hash digest
SHA256 e78f3ba6e4e947e0731b9297f4e200004ae5be2c746028abec3fdfd63877a4a5
MD5 fb4e0624e718db08ca6cb7d7c593e722
BLAKE2b-256 c7d7682eb32ff8847ad65770e643e52ec7e893cb2ba152e86558c0fc0a4ec00f

See more details on using hashes here.

File details

Details for the file skip_django_is_core-2.28.1-py3-none-any.whl.

File metadata

File hashes

Hashes for skip_django_is_core-2.28.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8b0425bb103f991600c1467195430cd452ebfa61d8a6aedbbdbc2b7368e35178
MD5 220ca2136e886de9eab72bebe57bb932
BLAKE2b-256 19e1ccb797c152a00c15d582e3c0d2c96665d552833d1ca3aaedb7f49dfee4b1

See more details on using hashes here.

Supported by

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