A Django app that creates automatic web UIs for Python scripts.

Overview

Wooey!

Build Status Deploy-To-Pypi Deploy-To-Docker codecov Join the chat at https://gitter.im/wooey/Wooey

Wooey is a simple web interface to run command line Python scripts. Think of it as an easy way to get your scripts up on the web for routine data analysis, file processing, or anything else.

Wooey was envisioned as a system to allow data analysts to be able to easily:

1. Autodocument workflows for data analysis
    (simple model saving).
2. Enable fellow co-workers with no command line
    experience to utilize python scripts.
3. Enable the easy wrapping of any program in simple
   python instead of having to use language specific 
   to existing tools such as Galaxy.

For installation and other instructions, check out our documentation or give Wooey a test drive at our demo-server!

Comments
  • Celery TypeError

    Celery TypeError "cannot serialize '_io.BufferedReader' object

    I just updated my Wooey install to today's new version and immediately hit a problem. Any script I try to run returns an error (with live updating, which is wonderful!) and in the Celery worker window I get the following message:

    [2016-07-28 09:16:07,984: INFO/MainProcess] Received task: wooey.tasks.submit_script[add3df58-d675-44f0-8380-6ac85089df08]
    [2016-07-28 09:16:08,121: ERROR/MainProcess] Task wooey.tasks.submit_script[add3df58-d675-44f0-8380-6ac85089df08] raised unexpected: TypeError("cannot serialize '_io.BufferedReader' object",)
    Traceback (most recent call last):
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\celery\app\trace.py", line 240, in trace_task
        R = retval = fun(*args, **kwargs)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\celery\app\trace.py", line 438, in __protected_call__
        return self.run(*args, **kwargs)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\wooey\tasks.py", line 109, in submit_script
        qout, pout = output_monitor_queue(proc.stdout)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\wooey\tasks.py", line 41, in output_monitor_queue
        p.start()
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\billiard\process.py", line 137, in start
        self._popen = Popen(self)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\billiard\forking.py", line 263, in __init__
        dump(process_obj, to_child, HIGHEST_PROTOCOL)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\billiard\py3\reduction.py", line 60, in dump
        ForkingPickler(file, protocol).dump(obj)
    TypeError: cannot serialize '_io.BufferedReader' object
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\billiard\forking.py", line 459, in main
        self = load(from_parent)
    EOFError: Ran out of input
    

    I tried downgrading my Celery install from 3.1.23, first to 3.1.15 then to 3.1.12 (which is what I had before the Wooey upgrade) to no avail. Do you have any suggestions?

    bug python3 
    opened by arolling 35
  • wooify fails with django 1.9

    wooify fails with django 1.9

    Installing latest wooey on Python 3.4.3 on Win7 65bit, without previous install of django, installed django 1.9. Running wooify -p test caused this error:

    λ wooify --version
    Traceback (most recent call last):
      File "d:\anaconda3\lib\runpy.py", line 170, in _run_module_as_main
        "__main__", mod_spec)
      File "d:\anaconda3\lib\runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "D:\Anaconda3\Scripts\wooify.exe\__main__.py", line 5, in <module>
      File "d:\anaconda3\lib\site-packages\wooey\backend\command_line.py", line 8, in <module>
        from .. import django_compat
      File "d:\anaconda3\lib\site-packages\wooey\django_compat.py", line 51, in <module>
        from django.contrib.contenttypes.fields import GenericForeignKey
      File "d:\anaconda3\lib\site-packages\django\contrib\contenttypes\fields.py", line 5, in <module>
        from django.contrib.contenttypes.models import ContentType
      File "d:\anaconda3\lib\site-packages\django\contrib\contenttypes\models.py", line 159, in <module>
        class ContentType(models.Model):
      File "d:\anaconda3\lib\site-packages\django\db\models\base.py", line 94, in __new__
        app_config = apps.get_containing_app_config(module)
      File "d:\anaconda3\lib\site-packages\django\apps\registry.py", line 239, in get_containing_app_config
        self.check_apps_ready()
      File "d:\anaconda3\lib\site-packages\django\apps\registry.py", line 124, in check_apps_ready
        raise AppRegistryNotReady("Apps aren't loaded yet.")
    django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
    

    Installing django 1.8 (pip install django==1.8) fixed it (albeit giving a different error, I'll look into it and open a different issue if needed).

    opened by yoavram 19
  • job expiration not working

    job expiration not working

    Hi ,

    I still have problem with WOOEY_JOB_EXPIRATION parameter. I set this to:

    user_job_expire=timedelta(hours=1) anonymous_job_expire=timedelta(minutes=10)

    WOOEY_JOB_EXPIRATION = {'user':user_job_expire,'anonymous':anonymous_job_expire}

    But no success. Please help me to fix

    Aidas

    opened by aydas 17
  • Import files to script

    Import files to script

    How can I import my custom files?
    I need to use my files inside the script.
    print(os.path.dirname(sys.argv[0])) gives me /opt/DO_wooey/media/wooey_scripts, I decided to put my custom files in this directory, but it does not work, the script still gives me this error: OSError: SavedModel file does not exist at: test_build/{saved_model.pbtxt|saved_model.pb}. screen shot 2017-08-21 at 23 43 25

    opened by toert 17
  • Script url changes

    Script url changes

    This addresses an issue raised in #43. It creates a new scheme for script urls and versions and adds in a dropdown box for the user to select older scripts.

    opened by Chris7 17
  • Non-UTF-8 code in django-admin.exe but no encoding declared

    Non-UTF-8 code in django-admin.exe but no encoding declared

    Running wooify -p test produces:

      File "D:\Anaconda3\envs\wooey\Scripts\django-admin.exe", line 1
    SyntaxError: Non-UTF-8 code starting with '\x90' in file D:\Anaconda3\envs\wooey\Scripts\django-admin.exe on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
    Traceback (most recent call last):
      File "d:\anaconda3\envs\wooey\lib\runpy.py", line 170, in _run_module_as_main
        "__main__", mod_spec)
      File "d:\anaconda3\envs\wooey\lib\runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "D:\Anaconda3\envs\wooey\Scripts\wooify.exe\__main__.py", line 9, in <module>
      File "d:\anaconda3\envs\wooey\lib\site-packages\wooey\backend\command_line.py", line 81, in bootstrap
        with open(to_name, 'wb') as new_file:
    FileNotFoundError: [Errno 2] No such file or directory: 'D:\\workspace\\wooeytest\\test\\test\\.\\middleware.py'
    

    Windows 7, 64bit, Python 3.4.3, Django 1.8.4, wooey 0.9.1.

    opened by yoavram 15
  • i18n: Add translation files for de, fr, nl.

    i18n: Add translation files for de, fr, nl.

    To begin process of adding working i18n these files add base translations from the current strings. They are machine translated using Google's service (https://translate.google.com/toolkit/) and so likely broken.

    The NL looks vaguely right to my limited knowledge but I will check them all with native speakers.

    opened by mfitzp 15
  • Can not execute the task when I add TEMPLATES.DIRS

    Can not execute the task when I add TEMPLATES.DIRS

    I want to custom the templates, so I add the string "os.path.join(BASE_DIR, 'templates')," into the DIRS list of settings.TEMPLATES, then I copy the templates directory to my project. I can custom the templates successfully, but get the following errors when I execute the task: 10:54:49 web.1 | Internal Server Error: /scripts/violinplot/ 10:54:49 web.1 | Traceback (most recent call last): 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/utils/datastructures.py", line 83, in getitem 10:54:49 web.1 | list_ = super(MultiValueDict, self).getitem(key) 10:54:49 web.1 | KeyError: 'wooey_type' 10:54:49 web.1 | 10:54:49 web.1 | During handling of the above exception, another exception occurred: 10:54:49 web.1 | 10:54:49 web.1 | Traceback (most recent call last): 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/core/handlers/base.py", line 149, in get_response 10:54:49 web.1 | response = self.process_exception_by_middleware(e, request) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/core/handlers/base.py", line 147, in get_response 10:54:49 web.1 | response = wrapped_callback(request, *callback_args, **callback_kwargs) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/views/generic/base.py", line 68, in view 10:54:49 web.1 | return self.dispatch(request, *args, **kwargs) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/views/generic/base.py", line 88, in dispatch 10:54:49 web.1 | return handler(request, *args, **kwargs) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/wooey/views/views.py", line 160, in post 10:54:49 web.1 | data = super(WooeyScriptView, self).post(*args, **kwargs) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/wooey/views/views.py", line 91, in post 10:54:49 web.1 | form = utils.get_master_form(pk=post['wooey_type']) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/utils/datastructures.py", line 85, in getitem 10:54:49 web.1 | raise MultiValueDictKeyError(repr(key)) 10:54:49 web.1 | django.utils.datastructures.MultiValueDictKeyError: "'wooey_type'"

    opened by zjhzxjm 14
  • True/False params are not output when executing a command

    True/False params are not output when executing a command

    Hey guys, I have an argument that looks like this:

    main_options_group.add_argument('--my_optional_arg', default=False, action='store_true')
    

    This is correctly stored as a ScriptParameters object when I tick the checkbox in the Wooey interface. However when Celery executes the command it does not include --my_optional_arg in the command that is executed.

    Looking at the source, it seems that param.get_subprocess_value() does not return a "value" for the param, causing the condition in the "if" statement on line 79 of utils.py to fail and ultimately preventing the param from being output correctly.

    See my pdb log below. You can see that after executing line 78 "subproc_value" is None, despite param.value being True

    (Pdb) l
     73             if subproc_dict is None:
     74                 continue
     75             subproc_param = subproc_dict['parameter']
     76             if subproc_param not in param_dict:
     77                 param_dict[subproc_param] = []
     78  ->         subproc_value = subproc_dict.get('value', None)
     79             if subproc_value:
     80                 param_dict[subproc_param].append(subproc_value)
     81         for param, values in param_dict.items():
     82             for value in values:
     83                 if param:
    (Pdb) n
    > .../wooey/backend/utils.py(79)get_job_commands()
    -> if subproc_value:
    (Pdb) subproc_value
    (Pdb) param._value
    u'true'
    (Pdb) param.value
    True
    (Pdb) param.get_subprocess_value()
    {u'parameter': u'--my_optional_arg'}
    
    opened by hottwaj 14
  • WOOEY_REALTIME_CACHE is not work for me

    WOOEY_REALTIME_CACHE is not work for me

    Please, show working example of useing it. How must I set my settings for the realtime update of the script output? I see only one result after end of my script.

    opened by abicorios 12
  • Cannot start Celery process

    Cannot start Celery process

    Hi, as someone new to Django I've been trying to use Wooey as a front end to several testing scripts. Unfortunately, running them without Celery seems to block everything and crash and I can't manage to get Celery running. As per the documentation (I'm on Windows), I've been running

    python manage.py celery beat
    python manage.py celery worker -c 1 -l info
    python manage.py runserver
    

    but the celery worker process never really starts. The relevant error seems to be:

    [2016-06-22 13:53:35,522: INFO/Worker-1] child process 7068 calling self.run()
    [2016-06-22 13:53:35,663: ERROR/Worker-1] Process Worker-1
    Traceback (most recent call last):
      File "C:\{path}\Programs\Python\Python35-32\lib\site-packages\kombu\utils\__init__.py", line 323, in __get__
        return obj.__dict__[self.__name__]
    KeyError: 'backend'
    

    Then a series of cascading errors, then something like Process 'Worker-14' pid:4992 exited with 'exitcode 1'. I have spent a lot of time trying to google the source of the problem, but I am too new to Django and Celery to figure this out. Is there something I should have done, that is so basic it isn't in the docs?

    Alternately, the scripts we are trying to run with Wooey seem to work perfectly fine with Celery flagged as false, as long as we take the threading out of them (which is used to send and receive data through a serial port). Will getting Celery running solve this problem or is this too far away from the intended usage of Wooey?

    opened by arolling 12
  • Documentation not building

    Documentation not building

    I ran into some questions not covered in the documentation. Through the issues here and, trial and error I managed to figure it out. My plan was to add some information to the docs for other users. However, it seems that the docs on readthedocs are not the same as here on Github and I also can´t build the docs myself through Sphinx. Is there perhaps an issue with the setup of the docs?

    opened by michielap 0
  • problem with Python3.10 and Ubuntu 22.04

    problem with Python3.10 and Ubuntu 22.04

    Dear developper

    I have a problem. I was using wooey on ubuntu 20.04 and python3.8 and it was working perfectly. However, last week i update ubuntu and python and now it is not working anymore. the problem is that i get error in the wooey web server but i can not find out any information about the error to try to debug.

    can you please help me?

    cheers Luigi

    opened by lfaino 0
  • Official Docker Image

    Official Docker Image

    Was glad to see Wooey available on docker. https://hub.docker.com/u/wooey I downloaded the latest image and ran it , but it only executes the tests and then exists. What am i missing ?

    documentation request 
    opened by pymenow 5
  • Is there any way to add Scrapy based project in Wooey ?

    Is there any way to add Scrapy based project in Wooey ?

    I want to add some of my Scrapy based projects Wooey. As I can see only single script based project can be added in Wooey, so I want to know, is there any way to add Scrapy like project which have a file structure with multiple scripts?

    opened by adnan-alam 1
  • Mutually exclusive groups don't appear to work

    Mutually exclusive groups don't appear to work

    A parser with a mutually exclusive argument group behaves pretty strangely. I've noted two problems:

    • The arguments always end up as optional, even if the group is marked as required.
      • This is really the larger issue for me
    • You can enter input for both and don't get an error until the script actually runs

    Here's a small script recreating both issues:

    import argparse
    import sys
    
    parser = argparse.ArgumentParser(
        description="Parser with required mutually exclusive group."
    )
    parser.add_argument("--arg", type=str, required=True)
    
    mutex_grp = parser.add_mutually_exclusive_group(required=True)
    mutex_grp.add_argument("--first", action="store_true")
    mutex_grp.add_argument("--second", action="store_true")
    
    
    def main():
        args = parser.parse_args()
        print(args)
        return 0
    
    
    if __name__ == "__main__":
        sys.exit(main())
    

    I think Gooey has support for mutex groups, so maybe inspiration can be taken from there?

    bug 
    opened by slarse 2
  • Python script works on command line but not in Wooey

    Python script works on command line but not in Wooey

    I've got a non-technical employee that needs access to Python scripts that we need to use to conduct our business. I've gotten Wooey working but one of the scripts breaks. I love this concept - my employee doesn't understand Python, Linux, or any other myriad of aspects involved with running this script. So, if I can get this working, it'll be awesome.

    The script is called dnstwist.py (https://github.com/elceef/dnstwist/blob/master/dnstwist.py). In the Wooey console, it generates the following errors:

    Traceback (most recent call last): File "/home/ubuntu/twisty/twisty/user_uploads/wooey_scripts/dnstwist.py", line 1009, in main() File "/home/ubuntu/twisty/twisty/user_uploads/wooey_scripts/dnstwist.py", line 1003, in main p_cli(generate_cli(domains)) File "/home/ubuntu/twisty/twisty/user_uploads/wooey_scripts/dnstwist.py", line 120, in p_cli sys.stdout.write(data) UnicodeEncodeError: 'ascii' codec can't encode characters in position 3628-3629: ordinal not in range(128)

    I'm pretty sure it has to do with how the data is formatted in 3 columns in the output but I don't know how to fix it. Any help would be greatly appreciated.

    opened by razermouse 8
Releases(v0.13.2)
  • v0.13.2(Oct 5, 2022)

    Note: 0.13.0/1 were failed releases due to github action issues. This is a light release, mostly around bug fixes and minor quality of life improvements.

    New Features

    Scripts now track who created and last updated them #354

    Improvements

    Improvements to task error tracking #340 ScriptParameter field extended to support users who have a LOT of choices #351

    Fixes

    Search works again #355 Scrapbook works again #339 Fixture loading #356

    Source code(tar.gz)
    Source code(zip)
  • v0.12.0(Apr 16, 2020)

    New Features

    Script deletion experience improved #313 Spanish translations added #306 Django 2.2 and Django 3.0 Support #284 Official Docker image added at https://hub.docker.com/r/wooey/wooey Admin interface added for Script Versions

    Updates

    Builds have been moved from Appveyor and Travis to Github Actions #314 Update to boto3 #304

    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Nov 30, 2019)

    Wooey 0.11.0

    New Features

    1. WooeyWidgets, which enable custom form input elements to be created and used. #175
    2. Korean translations added #254
    3. Improved UI to not allow job operations on message brokers that do not allow them. #285
    4. Django2 Support. #271

    Bug Fixes

    1. Fix bug where all parameters from all subparsers were needed to validate in order to submit a job. #299
    2. Fix bug with escaping parameter arguments that prevented special characters from being used. #296
    3. Fix bug where multiple initial files for a cloned job were not populated. #255
    4. Fix bug in parsing multiple arguments where argparse specifies action=append #270
    5. Fix bug in cleaning up empty jobs where workers cannot be contacted. #277
    6. Fix bug where scripts on remote workers were not invalidated after updates on main server. #145
    7. Fix race condition where celery tasks would start before database transaction finished. #297
    8. Handle characters in script version that need to be escaped for urls. #298
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(May 20, 2018)

    Wooey 0.10.0

    New Features

    1. Added docker files for development and example deployments!
    2. Better documentation!:
    1. Subparser Support! Subparsers are now supported for argparse. With this completed, we can begin adding support for other interfaces such as click
    2. Added checksums to scripts. Scripts now have a checksum so duplicate scripts are not created (and this paves the way for supporting better automatic updates of scripts)
    3. Jobs can be cloned into previous script versions. Previously, the clone button cloned a job into the latest version of a script. Now, jobs can be cloned into previous versions.

    Bug Fixes

    1. Errors from adding scripts are returned as a message instead of an Exception.
    2. Dead jobs are now automatically cleaned up. (this removes jobs that are in a state of limbo due to a server crash, etc.).
    3. Attempts to access a job that a user did not have permission to access resulted in a 500 error. This now shows the proper page indicating the user has no access to that job.
    4. Fixed parsing of default argument parameters that were lists or functions.
    5. Fixed zip files overwriting nested output.

    Version Support

    1. Supports Django 1.10/1.11 and Celery 4.x
    2. Dropped compatibility layers for Django 1.7 and python 3.3
    Source code(tar.gz)
    Source code(zip)
  • 0.9.10(Dec 20, 2017)

  • 0.9.9(Sep 5, 2017)

    This is a quick release to address https://github.com/wooey/Wooey/issues/189, where clinto was not reporting errors in parsing scripts through the frontend.

    Source code(tar.gz)
    Source code(zip)
  • 0.9.8(Jan 1, 2017)

    Wooey v0.9.8

    This is primarily a release to address issue #163 where updated scripts would duplicate group names. However, it is a huge release in terms of internationalization!

    New Features

    1. Internationalization is now enabled by default in the bootstrapped version of Wooey.
    2. Simplified Chinese support has been added thanks to @zjhzxjm!

    Bug Fixes

    1. Parameter groups could be duplicated
    2. New parameters on script updates would be made when parameter order was rearranged
    3. Fixed CSS issue causing the script search sidebar to be hidden
    Source code(tar.gz)
    Source code(zip)
  • 0.9.6(Nov 29, 2016)

  • 0.9.5(Sep 11, 2016)

    This addresses the remaining bugs from version 0.93: #148 and #149 -- Switch to using threads to monitor process output for better cross-platform compatibility #152 -- Fix for argumentless scripts.

    Source code(tar.gz)
    Source code(zip)
  • 0.9.4(Aug 16, 2016)

  • v0.9.3(Jul 28, 2016)

    Major Features

    Real time updates of Job status

    The output of scripts as well and execution status of a script will be updated in real time so there is no need to reload a page for job updates. By default, this makes use of the database to store job information, but can be easily configured to store this information in a cache layer via the WOOEY_REALTIME_CACHE setting.

    Improved updates to scripts

    Script parameters are now more intelligently created and parameters that are unchanged between script versions will not be updated. Via the command line, this behavior can be achieved by adding the --update flag to the addscript command and is automatically performed when updating scripts via the admin.

    Reduced file duplication

    Wooey now performs a checksum on uploaded files to identify duplicated files, and adds a permission layer to users that allows multiple users to access the same uploads (provided that user had the file in the first place to upload!). As an added benefit, this setup paves the way for a media dashboard that will allow users and groups to easily share files with one another.

    Minor Features

    • An awesome user, @manicmaniac , added translations for Japanese.
    • Automatic deletion of jobs older than a given date
    Source code(tar.gz)
    Source code(zip)
Owner
Wooey
Automatic web UIs for Python scripts
Wooey
xarray: N-D labeled arrays and datasets

xarray is an open source project and Python package that makes working with labelled multi-dimensional arrays simple, efficient, and fun!

Python for Data 2.8k Dec 29, 2022
StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery

StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery

3.3k Jan 01, 2023
AaPanel - Simple but Powerful web-based Control Panel

Introduction: aaPanel is the International version for BAOTA panel(www.bt.cn) There have millions servers had installed BAOTA panel since 2014 in Chin

bt.cn 1.4k Jan 09, 2023
The script that able to find admin panels

admin_panel_finder The script will try to request possible admin panels by reading possible admin panels url then report as 200 YES or 404 NO usage: p

E-Pegasus 3 Mar 09, 2022
spider-admin-pro

Spider Admin Pro Github: https://github.com/mouday/spider-admin-pro Gitee: https://gitee.com/mouday/spider-admin-pro Pypi: https://pypi.org/

mouday 289 Jan 06, 2023
Django Smuggler is a pluggable application for Django Web Framework that helps you to import/export fixtures via the automatically-generated administration interface.

Django Smuggler Django Smuggler is a pluggable application for Django Web Framework to easily dump/load fixtures via the automatically-generated admin

semente 373 Dec 26, 2022
With Django Hijack, admins can log in and work on behalf of other users without having to know their credentials.

Django Hijack With Django Hijack, admins can log in and work on behalf of other users without having to know their credentials. Docs See http://django

1.2k Jan 05, 2023
Simple and extensible administrative interface framework for Flask

Flask-Admin The project was recently moved into its own organization. Please update your references to Flask-Admin 5.2k Dec 29, 2022

Jinja is a fast, expressive, extensible templating engine.

Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax.

The Pallets Projects 9k Jan 04, 2023
Helpers to extend Django Admin with data from external service with minimal hacks

django-admin-data-from-external-service Helpers to extend Django Admin with data from external service with minimal hacks Live demo with sources on He

Evgeniy Tatarkin 7 Apr 27, 2022
Visually distinguish environments in Django Admin

django-admin-env-notice Visually distinguish environments in Django Admin. Based on great advice from post: 5 ways to make Django Admin safer by hakib

Yuri Shikanov 258 Nov 30, 2022
Allow foreign key attributes in list_display with '__'

django-related-admin Allow foreign key attributes in Django admin change list list_display with '__' This is based on DjangoSnippet 2996 which was mad

Petr Dlouhý 62 Nov 18, 2022
A python application for manipulating pandas data frames from the comfort of your web browser

A python application for manipulating pandas data frames from the comfort of your web browser. Data flows are represented as a Directed Acyclic Graph, and nodes can be ran individually as the user se

Schlerp 161 Jan 04, 2023
A new style for Django admin

Djamin Djamin a new and clean styles for Django admin based in Google projects styles. Quick start Install djamin: pip install -e git://github.com/her

Herson Leite 236 Dec 15, 2022
Awesome Video Datasets

Awesome Video Datasets

Yunhua Zhang 462 Jan 02, 2023
:honey_pot: A fake Django admin login screen page.

django-admin-honeypot django-admin-honeypot is a fake Django admin login screen to log and notify admins of attempted unauthorized access. This app wa

Derek Payton 907 Dec 31, 2022
PyTorch Implementation of Unsupervised Depth Completion with Calibrated Backprojection Layers (ORAL, ICCV 2021)

PyTorch Implementation of Unsupervised Depth Completion with Calibrated Backprojection Layers (ORAL, ICCV 2021)

80 Dec 13, 2022
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
Manuskript is an open-source tool for writers.

Manuskript is an open-source tool for writers. Manuskript runs on GNU/Linux, Mac OS X, and Windows.

Olivier 1.4k Jan 07, 2023
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022