Easily share data across your company via SQL queries. From Grove Collab.

Overview
Documentation Status Build Status Latest Version Downloads License

SQL Explorer

SQL Explorer aims to make the flow of data between people fast, simple, and confusion-free. It is a Django-based application that you can add to an existing Django site, or use as a standalone business intelligence tool.

Quickly write and share SQL queries in a simple, usable SQL editor, preview the results in the browser, share links, download CSV, JSON, or Excel files (and even expose queries as API endpoints, if desired), and keep the information flowing!

Comes with support for multiple connections, to many different SQL database types, a schema explorer, query history (e.g. lightweight version control), a basic security model, in-browser pivot tables, and more.

SQL Explorer values simplicity, intuitive use, unobtrusiveness, stability, and the principle of least surprise.

SQL Explorer is inspired by any number of great query and reporting tools out there.

The original idea came from Stack Exchange's Data Explorer, but also owes credit to similar projects like Redash and Blazer.

You can read the full documentation here

Sql Explorer is MIT licensed, and pull requests are welcome.

A view of a query

https://s3-us-west-1.amazonaws.com/django-sql-explorer/2019_2.png

Viewing all queries

https://s3-us-west-1.amazonaws.com/django-sql-explorer/2019_querylist.png

Quick access to DB schema info

https://s3-us-west-1.amazonaws.com/django-sql-explorer/2019_3.png

Snapshot query results to S3 & download as csv

https://s3-us-west-1.amazonaws.com/django-sql-explorer/2019_snapshots.png

Comments
  • Time for a new release?

    Time for a new release?

    Hey, great work on this tool!

    I'm thinking it might be good to release a new version on pip. There's some good stuff in the latest version, esp a fix for showing the schema on mysql.

    I added this to my pip requirements list:

    git+git://github.com/groveco/[email protected] # latest commit as of jan 12 2018
    

    and had to pip uninstall the current version first.

    This could be confusing for many users and I'm sure they would appreciate a release on pip.

    opened by baragona 17
  • Django 3.0 support?

    Django 3.0 support?

    Right now when I install this library in my Django 3.0 project, I get the following error: ImportError: cannot import name 'render_to_response' from 'django.shortcuts' (...../lib/python3.7/site-packages/django/shortcuts.py)

    render_to_response was deprecated in Django 2.0 and removed from Django 3.0. Can someone please deploy a fix for this?

    opened by nitish-squadrun 13
  • Add pdf export capability using xhtml2pdf

    Add pdf export capability using xhtml2pdf

    Add an extra exporter (PDF) using xhtml2pdf and reportlab. Uses the exporer/pdf_template.html as a template for the pdf table, you can override it in your own apps to add (for example) page numbers, extra fonts, change page layout etc. Should fix #207.

    opened by spapas 13
  • Additional export functionality

    Additional export functionality

    Hey @chrisclark, what do you think about updating the export functionality to export to CSV, Excel, PDF, and JSON? Maybe a nice little toolbar below the report with export functionality to any of those choices. Then more could be added later if necessary (like an HTML Table export or something).

    I would of course help out with this. Just wanted to get your opinion first.

    opened by grantmcconnaughey 13
  • ModuleNotFoundError: boto3

    ModuleNotFoundError: boto3

    Hey! After installing django-sql-explorer==3.0, I get this error:

    [2022-12-15T14:06:49.875Z] #16 2.041   File "/app/venv/lib/python3.10/site-packages/explorer/utils.py", line 9, in <module>
    [2022-12-15T14:06:49.875Z] #16 2.041     import boto3
    [2022-12-15T14:06:49.875Z] #16 2.041 ModuleNotFoundError: No module named 'boto3'
    

    I see boto3 is actually imported directly here https://github.com/groveco/django-sql-explorer/blob/master/explorer/utils.py#L9, but when installing this app boto3 is not installed as a dependency.

    Am I missing something?

    Thanks!

    bug good first issue Contributions welcome 
    opened by scastlara 12
  • Problem importing celery to enable tasks

    Problem importing celery to enable tasks

    Setting EXPLORER_TASKS_ENABLED = True causes the following exception:

    ImportError: cannot import name 'task' from 'celery' (D:\Users\my-user\projects\my-project\venv-windows\lib\site-packages\celery\__init__.py)
    
    Django==3.2.9
    django-sql-explorer==2.4.2
    celery==5.2.1
    
    opened by avi-perl 12
  • Vulnerabilities in JS files

    Vulnerabilities in JS files

    opened by fearless0307 10
  • Bug in passes_blacklist

    Bug in passes_blacklist

    Hello! I am running the following query:

    SELECT * from eventtype where eventtype.value = 'Grant Date';

    I get:

    Query failed the SQL blacklist: GRANT

    In order for the query to work, I have to do workarounds: SELECT * from legal_eventtype where legal_eventtype.value = concat('G', 'rant Date'); This causes a lot of headaches.

    bug Contributions welcome 
    opened by afedosenko 10
  • Scripts and Style links local rather than pulled from Internet

    Scripts and Style links local rather than pulled from Internet

    I have a great use case for an offline application to use django-sql-explorer and need the scripts and links all to be stored with the package for this purpose.

    These were the references I found with a quick grep of the templates:

    [explorer]# grep 'src="/' *
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/list.js/1.5.0/list.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/codemirror/5.36.0/codemirror.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/codemirror/5.36.0/mode/sql/sql.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/codemirror/5.36.0/addon/comment/comment.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/floatthead/2.1.1/jquery.floatThead.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/pivottable/2.20.0/pivot.min.js"></script>
    
    [explorer]# grep 'href="/' *
    base.html:    <link href="//cdnjs.cloudflare.com/ajax/libs/codemirror/5.36.0/codemirror.min.css" rel="stylesheet" />
    base.html:    <link href="//cdnjs.cloudflare.com/ajax/libs/pivottable/2.20.0/pivot.min.css" rel="stylesheet" />
    fullscreen.html:    <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    
    opened by alligatorbait 10
  • Exports need to include a BOM

    Exports need to include a BOM

    Currently exporting a CSV and opening it in Excel ruins any unicode characters.

    For example, Japanese characters display as 裕太

    Exporter needs to do something like this to write the BOM to the beginning of the file;

        contents = StringIO()
        contents.write(codecs.BOM_UTF8.decode('utf-8'))
        writer = csv.writer(contents)
    
    good first issue 
    opened by marksweb 9
  • Would you consider support for more object storage providers?

    Would you consider support for more object storage providers?

    Hi there,

    I just discovered this project today, and it looks fantastic - thank you for making it!

    Would you consider supporting more providers than just AWS if they are already boto/boto3 compatible ?

    I see this code in the repo here which I think is responsible for uploading snapshots to an object storage service like AWS S3:

    def get_s3_bucket():
        from boto.s3.connection import S3Connection
    
        conn = S3Connection(app_settings.S3_ACCESS_KEY,
                            app_settings.S3_SECRET_KEY)
        return conn.get_bucket(app_settings.S3_BUCKET)
    
    
    def s3_upload(key, data):
        from boto.s3.key import Key
        bucket = get_s3_bucket()
        k = Key(bucket)
        k.key = key
        k.set_contents_from_file(data, rewind=True)
        k.set_acl('public-read')
        k.set_metadata('Content-Type', 'text/csv')
        return k.generate_url(expires_in=0, query_auth=False)
    

    In a project I work on we use the boto library to talk to s3 compatible services from other providers, and I think to add this support to django-sql-explorer, it would mainly require a adding two new parameters to the code that connects to S3.

    We have a comparable method on a project I work on where we fetch an S3-compatible bucket, which does a somewhat similar job to get_s3_bucket above.

    def object_storage_bucket(bucket_name: str):
        """
        Return the bucket identified by `bucket_name` for uploading
        and downloading files.
        """
        session = boto3.Session(region_name=settings.OBJECT_STORAGE_REGION)
    
        object_storage = session.resource(
            "s3",
            endpoint_url=settings.OBJECT_STORAGE_ENDPOINT,
            aws_access_key_id=settings.OBJECT_STORAGE_ACCESS_KEY_ID,
            aws_secret_access_key=settings.OBJECT_STORAGE_SECRET_ACCESS_KEY,
        )
        return object_storage.Bucket(bucket_name)
    

    While the example I have shared uses boto3, instead of boto, I think it would not be too complicated to add the extra params, the region_name, and endpoint_url to the code connecting to an object storage service.

    Doing so would then make this library compatible with a range of S3-compatible providers (i.e. Cloudflare, Digital ocean, Scaleway, etc), as well as open source S3-compatible object storage software like Minio, Garage and so on.

    I'm currently adding django-sql-explorer to a project I'm working on but once I'm a bit more familiar with it, would you accept a PR to add this functionality, and assuming it meets contribution standards, giving some pointers on how to have this gracefully integrated into the project?

    opened by mrchrisadams 8
  • Organize queries into a tree-like sturcture for easier navigation

    Organize queries into a tree-like sturcture for easier navigation

    In the project where we are using Django SQL explorer the number of queries has grown so large that it is hard to navigate.

    I would propose to add a field path to the query which would function like a regular filesystem path. Based on that path queries could be displayed in the list view as a tree-like structure. For example queries with names A, B, C, D and paths /research/europe/, /research/europe/, /research/usa, and sales, respectively, could be shown as

    • research
      • europe
        • A
        • B
      • usa
        • C
    • sales
      • D

    This change would be backwards compatible as the path variable would not be required and the path could default to the root directory or some special "uncategorized" category.

    Also, this would open up the possibility to use that path for access management in the future such as giving a user read or write access to all queries under a specific path. However, that is just a though and not directly linked to the current proposal.

    If that idea sounds interesting, I would be happy to prepare a PR.

    opened by eeriksp 1
  • Sql explorer save query params

    Sql explorer save query params

    Description

    This provides the functionality to save query params so that the queries execute with them each time one comes to the Query Detail page.

    Resolves: #482

    Deployment Procedures

    • [ ] Migration (Please specify app(s) below)
      • ./manage.py migrate explorer

    Tests

    Execute Manual UI Tests like the following:

    1. Create a new query with a query param and save, note the same functionality exists as previously where the query does not execute due to no value for the new param:
    Screen Shot 2022-09-06 at 2 57 16 PM
    1. Input a value for the parameter and save:
    Screen Shot 2022-09-06 at 2 57 35 PM
    1. Now add a new parameter and save:
    Screen Shot 2022-09-06 at 2 58 27 PM
    1. Now save a new value to the second parameter:
    Screen Shot 2022-09-06 at 2 58 47 PM
    1. Now navigate back to the Query List page and click on the test query:
    Screen Shot 2022-09-06 at 2 59 10 PM
    1. Validate that the new QueryParams persist and the query executed:
    Screen Shot 2022-09-06 at 2 59 35 PM

    Also, you will want to verify that the csv and JSON exports still work correctly like:

    Screen Shot 2022-09-06 at 3 04 05 PM

    Screen Shot 2022-09-06 at 3 04 22 PM

    opened by dwmorrison33 3
  • Add label to parameters

    Add label to parameters

    I embedded a query with parameters using the procedure described in #485. The problem with this is that there is no way to add an optional "label" to the parameters so as to have better control on what to disply to the users.

    I tried to change the parameter name to be used as a labe but for reasons unknown to me this doesn't work. For example take a peek at this query:

    select aa.id, aa.created_on,
    aa.dynamic_data->>'date' as "Ημερμηνία",
    aa.dynamic_data->>'authority' as "Υπηρεσία",
    aa.dynamic_data->>'mail' as "Email",
    aa.dynamic_data
    from apps_app aa 
    left join apptypes_apptype aat on 
    aa.app_type_id = aat.id
    where aat.id = 8
    and aa.dynamic_data->>'mail' like "%$$email$$%"
    and aa.dynamic_data->>'authority' like "%$$Υπηρεσία$$%"
    

    Notice that I use a unicode name for the parameter in the last line; this parameter is not displayed at all (notice I'm using the normal process explorer view not any custom ones). Also, if I wanted to write Email as the name of the parameter instead of email I'd still get email (all lowercase) in the form field label.

    One way this could be implemented (this is only for UX purposes, I haven't read the code to understand if it's possible) is to add an optional label in the field similar to the optional default value. I.e right now we can do: $$paramName:defaultValue$$, this can be changed to $$paramName:defaultValue:Label$$ (and let's suppose we don't allow : in the label).

    Is this the correct way to go? Also is this a feature we'd like to add ? If yes I'd be happy to take a look at it.

    opened by spapas 5
  • Embedding a query

    Embedding a query

    Hello friends, in a recent project I wanted to embed a query in a view for all users to be able to run it. So instead of using the provided views I wanted to properly embed the report in my views so as to use my permissions etc (the requirement was a little more complex than that but it doesn't matter).

    I didn't find any docs for that so I had to research the source code and use the query_viewmodel function. So, my query detail view is similar to this:

    
    from explorer.models import Query
    from explorer.views.utils import query_viewmodel
    
    class QueryDetailView(DetailView):
        template_name = "reports/query_detail.html"
        model = Query
    
        def get_context_data(self, **kwargs):
            context = super().get_context_data(**kwargs)
            query = self.get_object()
            query.params = dict(
                [(k[:-6], v) for k, v in self.request.GET.items() if k.endswith("_param")]
            )
    
            vm = query_viewmodel(self.request, query)
    
            # dict_keys(['tasks_enabled', 'params', 'title', 'shared', 'query', 'form', 'message', 'error', 'rows', 'data', 'headers', 'total_rows', 'duration', 'has_stats', 'snapshots', 'ql_id', 'unsafe_rendering', 'fullscreen_params'])
            context.update(vm)
            context["title"] = query.title
            return context
    

    Then I used a query_detail.html template like:

    
    {% extends "site_base.html" %}
    {% block page_content %}
    
    {% if params %}
    <form method='GET'>
        <div class="form-inline">
            {% for k, v in params.items %}
                <div class="form-group">
                    <label for="{{ k }}_param" class="control-label col-sm-4">{{ k }}:</label>
                    <div class="col-sm-7">
                        <input type="text" data-param="{{ k }}" class="param form-control" name="{{ k }}_param" id="{{ k }}_param" placeholder="parameter" value="{{ v }}" />
                    </div>
                    <div class="col-sm-1"></div>
                </div>
            {% endfor %}
        </div>
        <input type='submit' class='btn btn-primary' value='Query'>
        <a href='{{ request.path }}' class='btn btn-secondary'>Reset</a>
    </form>
    {% endif %}
    
    <div class="row">
        <div class="col-md-12">
            {% if data %}
                <table class='table'>
                    <thead>
                        <tr>
                            {% for col in headers %}
                                <th>{{ col }}</th>
                            {% endfor %}
                        </tr>
                    </thead>
                    <tbody>
                        {% for row in data %}
                            <tr>
                                {% for col in row %}
                                    <td>{{ col }}</td>
                                {% endfor %}
                            </tr>
                        {% endfor %}
                    </tbody>
                </table>
            {% endif %}
        </div>
    </div>
    {% endblock %}
    

    I'm not sure if this is the correct way to do it, can you please confirm. If yes, I'd recommend adding this in the documentation so it's easy for other users that want to embed queries. Also we may want to make the query_viewmodel function as part of the API so we should describe its inputs/outputs.

    I can provide the PR with the change to the docs if you think it will be useful.

    opened by spapas 0
  • Save Parameter key and values

    Save Parameter key and values

    I am curious if there is a way to save a query parameters value for later use instead of having to re-enter it each time one goes to the Query Detail page? I only ask because I have not been able to find an answer to that with Google and I do not see anything in the codebase to do it, but maybe I am missing something. Thank you

    opened by dwmorrison33 7
Releases(3.0.1)
  • 3.0.1(Dec 16, 2022)

    What's Changed

    • Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/groveco/django-sql-explorer/pull/510
    • Bump actions/setup-python from 2 to 4 by @dependabot in https://github.com/groveco/django-sql-explorer/pull/512
    • Bump github/codeql-action from 1 to 2 by @dependabot in https://github.com/groveco/django-sql-explorer/pull/511
    • Fix for running without optional packages by @marksweb in https://github.com/groveco/django-sql-explorer/pull/515

    New Contributors

    • @dependabot made their first contribution in https://github.com/groveco/django-sql-explorer/pull/510

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/3.0...3.0.1

    Source code(tar.gz)
    Source code(zip)
  • 3.0(Dec 15, 2022)

    What's Changed

    • Document breakage of Format button due to CSRF_COOKIE_HTTPONLY (#492) by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/496
    • Avoid execution of parameterised queries when viewing query by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/497
    • Change sql blacklist functionality from regex to sqlparse by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/498
    • Form display in popup now requires sanitize: false flag by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/500
    • pre-commit hooks by @marksweb in https://github.com/groveco/django-sql-explorer/pull/504
    • Problem importing celery to enable tasks by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/501
    • Feature/more s3 providers by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/505
    • Check sql blacklist on execution as well as save by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/506
    • Bugfix/premature imports by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/508
    • 3.0 by @marksweb in https://github.com/groveco/django-sql-explorer/pull/509

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.5.0...3.0

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0(Oct 9, 2022)

    What's Changed

    • Improved templates to make easier to customize them for integration w… by @nad2000 in https://github.com/groveco/django-sql-explorer/pull/478
    • Add pie and line chart tabs to query result preview by @eeriksp in https://github.com/groveco/django-sql-explorer/pull/481
    • docs: Fix a few typos by @timgates42 in https://github.com/groveco/django-sql-explorer/pull/488
    • Fixes Security hole in blacklist for MySQL #490 by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/494

    New Contributors

    • @nad2000 made their first contribution in https://github.com/groveco/django-sql-explorer/pull/478
    • @eeriksp made their first contribution in https://github.com/groveco/django-sql-explorer/pull/481
    • @lawson89 made their first contribution in https://github.com/groveco/django-sql-explorer/pull/494

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.4.2...2.5.0

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0-beta(Aug 31, 2022)

    What's Changed

    • Improved templates to make easier to customize them for integration w… by @nad2000 in https://github.com/groveco/django-sql-explorer/pull/478
    • Add pie and line chart tabs to query result preview by @eeriksp in https://github.com/groveco/django-sql-explorer/pull/481

    New Contributors

    • @nad2000 made their first contribution in https://github.com/groveco/django-sql-explorer/pull/478
    • @eeriksp made their first contribution in https://github.com/groveco/django-sql-explorer/pull/481

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.4.2...2.5.0-beta

    Source code(tar.gz)
    Source code(zip)
  • 2.4.2(Aug 30, 2022)

    What's Changed

    • Add SET to blacklisted keywords by @assem-ch in https://github.com/groveco/django-sql-explorer/pull/475
    • Fix for #483 by @spapas in https://github.com/groveco/django-sql-explorer/pull/484

    New Contributors

    • @assem-ch made their first contribution in https://github.com/groveco/django-sql-explorer/pull/475

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.4.1...2.4.2

    Source code(tar.gz)
    Source code(zip)
  • 2.4.1(Mar 10, 2022)

    What's Changed

    • fix extra space around sql by @fearless0307 in https://github.com/groveco/django-sql-explorer/pull/471
    • Some tests misusing assertTrue for comparisons fix by @code-review-doctor in https://github.com/groveco/django-sql-explorer/pull/474

    New Contributors

    • @code-review-doctor made their first contribution in https://github.com/groveco/django-sql-explorer/pull/474

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.4...2.4.1

    Source code(tar.gz)
    Source code(zip)
  • 2.4(Feb 10, 2022)

    What's Changed

    • Add missing comma by @Bubbassauro in https://github.com/groveco/django-sql-explorer/pull/462
    • Use Django built-in get_valid_filename by @SuJiKiNen in https://github.com/groveco/django-sql-explorer/pull/466
    • Upgrade JS/CSS package by @fearless0307 in https://github.com/groveco/django-sql-explorer/pull/470

    New Contributors

    • @Bubbassauro made their first contribution in https://github.com/groveco/django-sql-explorer/pull/462
    • @SuJiKiNen made their first contribution in https://github.com/groveco/django-sql-explorer/pull/466
    • @fearless0307 made their first contribution in https://github.com/groveco/django-sql-explorer/pull/470

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.3...2.4

    Source code(tar.gz)
    Source code(zip)
  • 2.3(Jul 24, 2021)

  • 2.2.0(Jun 14, 2021)

    • Updated docs theme to furo
    • #445: Added EXPLORER_NO_PERMISSION_VIEW setting to allow override of the "no permission" view (Fix #440)
    • #444: Updated structure of the settings docs (Fix #443)
    Source code(tar.gz)
    Source code(zip)
  • 2.1.3(May 14, 2021)

Owner
Grove Collaborative
Grove Collaborative
☄️ Google Forms autofill script

lazrr 'Destroy Them With Lazers' - Knife Party, 2011 Google Forms autofill script Installation: pip3 install -r requirements.txt Usage: python3 lazrr.

Serezha Rakhmanov 12 Jun 04, 2022
Generate generic activity streams from the actions on your site. Users can follow any actors' activities for personalized streams.

Django Activity Stream What is Django Activity Stream? Django Activity Stream is a way of creating activities generated by the actions on your site. I

Justin Quick 2.1k Dec 29, 2022
Django API that scrapes and provides the last news of the city of Carlos Casares by semantic way (RDF format).

"Casares News" API Api that scrapes and provides the last news of the city of Carlos Casares by semantic way (RDF format). Usage Consume the articles

Andrés Milla 6 May 12, 2022
A test microblog project created using Django 4.0

django-microblog This is a test microblog project created using Django 4.0. But don't worry this is a fully working project. There is no super-amazing

Ali Kasimoglu 8 Jan 14, 2022
A Django GraphQL (Graphene) base template

backend A Django GraphQL (Graphene) base template Make sure your IDE/Editor has Black and EditorConfig plugins installed; and configure it lint file a

Reckonsys 4 May 25, 2022
Dynamic, database-driven Django forms

Django Dataforms django-dataforms is a wrapper for the Django forms API that lets you dynamically define forms in a database, rather than hard-coding

35 Dec 16, 2022
Bootstrap 3 integration with Django.

django-bootstrap3 Bootstrap 3 integration for Django. Goal The goal of this project is to seamlessly blend Django and Bootstrap 3. Want to use Bootstr

Zostera B.V. 2.3k Jan 02, 2023
A tool to automatically fix Django deprecations.

A tool to help upgrade Django projects to newer version of the framework by automatically fixing deprecations. The problem When maintaining a Django s

Bruno Alla 155 Dec 14, 2022
AUES Student Management System Developed for laboratory works №9 Purpose using Python (Django).

AUES Student Management System (L M S ) AUES Student Management System Developed for laboratory works №9 Purpose using Python (Django). I've created t

ANAS NABIL 2 Dec 06, 2021
Stream Framework is a Python library, which allows you to build news feed, activity streams and notification systems using Cassandra and/or Redis. The authors of Stream-Framework also provide a cloud service for feed technology:

Stream Framework Activity Streams & Newsfeeds Stream Framework is a Python library which allows you to build activity streams & newsfeeds using Cassan

Thierry Schellenbach 4.7k Jan 02, 2023
a little task queue for python

a lightweight alternative. huey is: a task queue (2019-04-01: version 2.0 released) written in python (2.7+, 3.4+) clean and simple API redis, sqlite,

Charles Leifer 4.3k Dec 29, 2022
Twitter-clone using Django (DRF) + VueJS

Twitter Clone work in progress 🚧 A Twitter clone project Table Of Contents About the Project Built With Getting Started Running project License Autho

Ahmad Alwi 8 Sep 08, 2022
A small Django app to easily broadcast an announcement across a website.

django-site-broadcasts The site broadcast application allows users to define short messages and announcements that should be displayed across a site.

Ben Lopatin 12 Jan 21, 2020
GeoDjango provides geospatial extensions to the Django web dev framework

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. All documentation is in the "docs" directo

Paul Smith 20 Sep 20, 2022
Twitter Bootstrap for Django Form - A simple Django template tag to work with Bootstrap

Twitter Bootstrap for Django Form - A simple Django template tag to work with Bootstrap

tzangms 557 Oct 19, 2022
Django React - Purity Dashboard (Open-Source) | AppSeed

Django React Purity Dashboard Start your Development with an Innovative Admin Template for Chakra UI and React. Purity UI Dashboard is built with over

App Generator 19 Sep 19, 2022
Coltrane - A simple content site framework that harnesses the power of Django without the hassle.

coltrane A simple content site framework that harnesses the power of Django without the hassle. Features Can be a standalone static site or added to I

Adam Hill 58 Jan 02, 2023
The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.

django-crispy-forms The best way to have Django DRY forms. Build programmatic reusable layouts out of components, having full control of the rendered

4.6k Jan 07, 2023
Simpliest django(uvicorn)+postgresql+nginx docker-compose (ready for production and dev)

simpliest django(uvicorn)+postgresql+nginx docker-compose (ready for production and dev) To run in production: docker-compose up -d Site available on

Artyom Lisovskii 1 Dec 16, 2021
Django With VueJS Blog App

django-blog-vue-app frontend Project setup yarn install Compiles and hot-reload

Flavien HUGS 2 Feb 04, 2022