From: Guillaume Pellerin Date: Thu, 18 Apr 2024 14:34:51 +0000 (+0200) Subject: cleanup deps X-Git-Tag: 2.9.0~12 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=95c6f9d45c3914fe86485e77ec821bfb1cb568b3;p=teleforma.git cleanup deps --- diff --git a/INSTALL.rst b/INSTALL.rst deleted file mode 100644 index abb999b6..00000000 --- a/INSTALL.rst +++ /dev/null @@ -1,388 +0,0 @@ - -Don't worry, Telemeta is easy to setup as any other Django app ! - ------------------ -Requirements ------------------ - -Telemeta is designed to run on Linux and other UNIX based architectures. -It depends on several python librairies like Django (version >= 1.3.1). -See http://djangoproject.com. - -Other needed librairies are listed below. - -telemeta -django-markup-mixin -django-pagination -django-notes -django-extensions -postman -django-timezones -xlwt -xlrd - - -Install the system dependencies --------------------------------- - -* On Debian (Squeeze recommended) or Ubuntu Lucid: - - Install all dependencies like this:: - - sudo aptitude install python python-dev python-pip python-xml python-mysqldb mysql-server \ - python-ctypes python-setuptools python-support python-docutils \ - python-libxml2 python-lxml python-numpy \ - python-scipy python-imaging python-mutagen python-gobject python-gst0.10 \ - gobject-introspection python-psutil nginx \ - gstreamer0.10-plugins-base gstreamer0.10-plugins-good \ - gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly webp - - sudo apt-get remove --purge pulseaudio - - To get MP3 reading and writing:: - - echo 'deb http://www.debian-multimedia.org stable main' | sudo tee -a /etc/apt/sources-list - sudo apt-get update - sudo aptitude install gstreamer0.10-lame - - More packages:: - - sudo pip install -U django==1.4.5 south django-pagination django-registration django-extensions \ - django-notes django-timezones django-markup-mixin sorl-thumbnail django-json-rpc \ - xlwt pytz googletools - -* On other linux platforms: - - Please install all the equivalent dependencies thanks to your application manager or manually. - - -Install Telemeta ------------------------------ - -Pip method (highly recommended!) -+++++++++++++++++++++++++++++++++ - -We strongly advise you use the python package tool as it installs some good dependencies automatically:: - - sudo aptitude install python-pip - sudo pip install telemeta - -or (deprecated):: - - sudo easy_install telemeta - -From sources -+++++++++++++ - -Download the latest tar archive at http://telemeta.org. - -Uncompress and install it. For example:: - - tar xzf telemeta-1.0.tar.gz - cd telemeta-1.0 - sudo python setup.py install - -Libraries -+++++++++++ - -All those modules have been automatically installed if you used one of the previous methods to install Telemeta. -In this case only, you can PASS this stage. - -But, if you need to hack Telemeta without installing it (i.e. link it through your $PYTHONPATH), you need to install those libraries manually. - -TimeSide (web audio components) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Install it using pip:: - - sudo pip install timeside - -Or, download the last archive at : -http://code.google.com/p/timeside/downloads/list - -Uncompress it and read README and INSTALL to install the dependencies -and then the module. - -JSON-RPC server -~~~~~~~~~~~~~~~~~~ - -Install it using pip:: - - sudo pip install django-json-rpc - -or, from source:: - - git clone git://github.com/samuraisam/django-json-rpc.git - cd django-json-rpc - python setup.py install - -South (schema migration) -~~~~~~~~~~~~~~~~~~~~~~~~~ - -It is strongly advised to use South and then enable data schema migrations between the models and the database. -It will allow automatic DB updates when your / our models are modified. Because the first one you use is not only the best one... - -Install it using pip:: - - sudo pip install south - -or:: - - sudo easy_install South - - -------------------------- -Fast testing (sandbox) -------------------------- - -If you just want to test Telemeta just now, a sandbox is available in the example/ directory:: - - cd example/sandbox_sqlite - ./manage.py syncdb - ./manage.py runserver 9000 - -Now browse http://localhost:9000 - - -------------------------------- -Create a new Telemeta project -------------------------------- - -Start the project ------------------- - -If you haven't already done it, start a new django project:: - - cd ~/my_projects - django-admin startproject mysite - - -Create the database ------------------------- - -Telemeta needs MySQL to work well and fast. So you need to create a MySQL database before trying it. - - -Configure the telemeta project ----------------------------------- - -Edit the file settings.py in a text editor. -Modifiy the following variables:: - - ADMINS = telemeta requires that you indicate an administrator here - DATABASES = your database setting dict (don't forget to create the database if needed) - MEDIA_ROOT = absolute path to the media directory you just created - -Set the app lists as follow:: - - INSTALLED_APPS = ( - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.messages', - 'django.contrib.admin', - 'telemeta', - 'jsonrpc', - 'south' - ) - -Set the following languages:: - - LANGUAGES = [ ('fr', 'French'), - ('en', 'English'), - ] - - -Set the following Middlewares:: - - MIDDLEWARE_CLASSES = ( - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.locale.LocaleMiddleware', - ) - -Add the following variables:: - - TEMPLATE_CONTEXT_PROCESSORS = ( - 'django.core.context_processors.request', - 'django.contrib.auth.context_processors.auth',) - - TELEMETA_ORGANIZATION = name of the organization which hosts this installation - TELEMETA_SUBJECTS = tuple of subject keywords (used for Dublin Core), such as "Ethnology", etc... - TELEMETA_DESCRIPTION = the description of the site - TELEMETA_CACHE_DIR = absolute path to the cache directory that you just created - TELEMETA_GMAP_KEY = your Google Map API key - TELEMETA_DOWNLOAD_ENABLED = True to enable raw audio data download - TELEMETA_STREAMING_FORMATS = tuple of authorized streaming formats. Ex: ('mp3', 'ogg') - TELEMETA_DOWNLOAD_FORMATS = tuple of authorized download formats. Ex: ('wav', 'mp3', 'webm') - TELEMETA_PUBLIC_ACCESS_PERIOD = number of years above which item files are automagically published - EMAIL_HOST = your default SMTP server - DEFAULT_FROM_EMAIL = the default sending email address - -Just paste the lines below:: - - LOGIN_URL = '/login' - LOGIN_REDIRECT_URL = '/' - AUTH_PROFILE_MODULE = 'telemeta.userprofile' - TELEMETA_EXPORT_CACHE_DIR = TELEMETA_CACHE_DIR + "/export" - TELEMETA_DATA_CACHE_DIR = TELEMETA_CACHE_DIR + "/data" - CACHE_BACKEND = "file://" + TELEMETA_CACHE_DIR + "/data" - -Optional: if you want some personal templates, for example:: - - TEMPLATE_DIRS = ( - '/home/dev/telemeta/sandboxes/sandbox_generic/templates/', - ) - -You can find an example for settings.py there:: - - example/sandbox/settings.py - - -Configure your urls ----------------------- - -Add this dictionary to get Javascript translation:: - - js_info_dict = { - 'packages': ('telemeta',), - } - -The simplest case is to have telemeta running at public root. To do so, add this url in urls.py:: - - # Telemeta - (r'^', include('telemeta.urls')), - - # Languages - (r'^i18n/', include('django.conf.urls.i18n')), - (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), - -You should also bring the django admin:: - - (r'^admin/django/', include(admin.site.urls)), - -Please also uncomment:: - - from django.contrib import admin - admin.autodiscover() - -You can find an example for url.py there:: - - example/sandbox/urls.py - - -Initialize the database --------------------------- - -This synchronizes the DB with the model:: - - ./manage.py syncdb - -If you want tu use the data schema migration system (South needed, see previous paragraph):: - - ./manage.py migrate telemeta - - -Start the project --------------------- - -We are ready to start the telemeta server:: - - python manage.py runserver - -By default, the server starts on the port 8000. You can override this with, for example:: - - python manage.py runserver 9000 - -To get it on your network interface:: - - python manage.py runserver 192.168.0.10:9000 - - -Test it ------------ - -Go to this URL with your browser:: - - http://localhost:8000 - -or:: - - http://localhost:9000 - -or:: - - http://192.168.0.10:9000 - - -Configure the site domain name in admin > general admin > sites - -Test it and enjoy it ! - - --------------------------- -Template customization --------------------------- - -Please see :: - - http://telemeta.org/wiki/InterfaceCustomization - - --------------------------- -Deploy it with Apache 2 --------------------------- - -If you want to use Telemeta through a web server, it is highly recommended to use Apache 2 -with the mod_wsgi module as explained in the following page :: - - http://docs.djangoproject.com/en/1.1/howto/deployment/modwsgi/#howto-deployment-modwsgi - -This will prevent Apache to put some audio data in the cache memory as it is usually the case with mod_python. - -You can find an example of an Apache2 VirtualHost conf file there:: - - example/apache2/telemeta.conf - - -------------------------- -IP based authorization -------------------------- - -It is possible to login automatically an IP range of machines to Telemeta thanks to the django-ipauth module:: - - sudo pip install django-ipauth - -See http://pypi.python.org/pypi/django-ipauth/ for setup. - - ----------------------------- -Import ISO 639-3 languages ----------------------------- - -From Telemeta 1.4, an ISO 639-3 language model has been implemented. - -The ISO language table content can be initialized with the official code set. -Here is a import example where telemeta_crem5 is the SQL database:: - - wget http://www.sil.org/iso639-3/iso-639-3_20110525.tab - mysql -u root -p - load data infile 'iso-639-3_20110525.tab' into table telemeta_crem5.languages CHARACTER SET UTF8 ignore 1 lines (identifier, part2B, part2T, part1, scope, type, name, comment); - -If you upgraded Telemeta from a version previous or equal to 1.3, please update the media_items table as follow:: - - mysql -u root -p - use telemeta_crem5 - ALTER TABLE media_items ADD COLUMN 'language_iso_id' integer; - ALTER TABLE 'media_items' ADD CONSTRAINT 'language_iso_id_refs_id_80b221' FOREIGN KEY ('language_iso_id') REFERENCES 'languages' ('id'); - -------------------------- -Contact / More infos -------------------------- - -See README.rst and http://telemeta.org. - diff --git a/README.rst b/README.rst index 91fc82a8..ad566922 100644 --- a/README.rst +++ b/README.rst @@ -18,46 +18,16 @@ It is based on Django and fully written in Python, HTML5, CSS and JavaScript. keywords: social e-learning, live conferencing, hypermedia private access -News -==== - -1.0 -+++++ - - * Add Exam module to have online script correction service (need Box / Crocodoc API token key) - * - - -0.9 -+++++ - - * Add - - -0.8 -+++++ - - * First release! see the features ;) - - -Screenshots -=========== - -See http://files.parisson.org/gallery/main.php/v/Screenshots/teleforma/ - - Installation ============ -Teleforma is exclusively based on open-source modules. - -The best way to get in run and test is to install it in a virtualenv with pip:: +Teleforma is exclusively based on open-source modules and run on top of Docker. - sudo apt-get install python-pip python-gst0.10 - sudo pip install virtualenv - virtualenv --system-site-packages teleforma - bin/pip install teleforma +To start an instance, install git, docker and the compose plugin, then:: + git clone https://github.com/parisson/teleforma + cd teleforma + docker compose up Bugs and feedback @@ -66,29 +36,19 @@ Bugs and feedback You are welcome to freely use this application in accordance with its licence. If you find some bugs, PLEASE leave a ticket on this page: -https://github.com/yomguy/teleforma/issues +https://github.com/parisson/teleforma/issues You can also leave a ticket to request some new interesting features for the next versions. And even if Telemeta suits you, please give us some feedback ! -Related projects -================ - - * `Telemeta `_ - open web audio CMS - * `TimeSide `_ - open web audio components - - Contact ======= -Homepage : https://github.com/yomguy/teleforma +Homepage : https://github.com/parisson/teleforma E-mail : Guillaume Pellerin -Twitter : http://twitter.com/parisson_studio - -Google+ : +Parisson Development @@ -98,11 +58,11 @@ You are welcome to participate to the development of the TeleForma project. To get the lastest development version, you need git and run:: - git clone git://github.com/yomguy/teleforma.git + git clone git://github.com/parisson/teleforma.git License ======= -CeCILL v2, compatible with GPL v2 (see `LICENSE `_) +CeCILL v2, compatible with GPL v2 (see `LICENSE `_) diff --git a/debian-packages.txt b/debian-packages.txt index 879c5541..856bb5b6 100644 --- a/debian-packages.txt +++ b/debian-packages.txt @@ -3,7 +3,6 @@ vim locales python3-ipython python3-setuptools -python3-mysqldb python3-psycopg2 python3-yaml uwsgi diff --git a/poetry.lock b/poetry.lock index 15d34593..6e8ce141 100644 --- a/poetry.lock +++ b/poetry.lock @@ -29,8 +29,10 @@ files = [ ] [package.dependencies] +exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} idna = ">=2.8" sniffio = ">=1.1" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] @@ -49,27 +51,11 @@ files = [ {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, ] -[package.extras] -tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] - -[[package]] -name = "asttokens" -version = "2.4.1" -description = "Annotate AST trees with source code positions" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, - {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, -] - [package.dependencies] -six = ">=1.12.0" +typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} [package.extras] -astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] -test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] +tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] [[package]] name = "async-timeout" @@ -563,18 +549,6 @@ twisted = {version = ">=18.7", extras = ["tls"]} [package.extras] tests = ["hypothesis (==4.23)", "pytest (>=3.10,<4.0)", "pytest-asyncio (>=0.8,<1.0)"] -[[package]] -name = "decorator" -version = "5.1.1" -description = "Decorators for Humans" -category = "main" -optional = false -python-versions = ">=3.5" -files = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, -] - [[package]] name = "defusedxml" version = "0.7.1" @@ -777,19 +751,19 @@ files = [ ] [[package]] -name = "executing" -version = "2.0.1" -description = "Get the currently executing AST node of a frame, and other information" +name = "exceptiongroup" +version = "1.2.0" +description = "Backport of PEP 654 (exception groups)" category = "main" optional = false -python-versions = ">=3.5" +python-versions = ">=3.7" files = [ - {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"}, - {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"}, + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, ] [package.extras] -tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] +test = ["pytest (>=6)"] [[package]] name = "h11" @@ -1082,64 +1056,6 @@ files = [ mypy = ["click (>=6.0)", "mypy (==0.812)", "twisted (>=16.4.0)"] scripts = ["click (>=6.0)", "twisted (>=16.4.0)"] -[[package]] -name = "ipython" -version = "8.23.0" -description = "IPython: Productive Interactive Computing" -category = "main" -optional = false -python-versions = ">=3.10" -files = [ - {file = "ipython-8.23.0-py3-none-any.whl", hash = "sha256:07232af52a5ba146dc3372c7bf52a0f890a23edf38d77caef8d53f9cdc2584c1"}, - {file = "ipython-8.23.0.tar.gz", hash = "sha256:7468edaf4f6de3e1b912e57f66c241e6fd3c7099f2ec2136e239e142e800274d"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -decorator = "*" -jedi = ">=0.16" -matplotlib-inline = "*" -pexpect = {version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\""} -prompt-toolkit = ">=3.0.41,<3.1.0" -pygments = ">=2.4.0" -stack-data = "*" -traitlets = ">=5.13.0" -typing-extensions = {version = "*", markers = "python_version < \"3.12\""} - -[package.extras] -all = ["ipython[black,doc,kernel,matplotlib,nbconvert,nbformat,notebook,parallel,qtconsole]", "ipython[test,test-extra]"] -black = ["black"] -doc = ["docrepr", "exceptiongroup", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "stack-data", "typing-extensions"] -kernel = ["ipykernel"] -matplotlib = ["matplotlib"] -nbconvert = ["nbconvert"] -nbformat = ["nbformat"] -notebook = ["ipywidgets", "notebook"] -parallel = ["ipyparallel"] -qtconsole = ["qtconsole"] -test = ["pickleshare", "pytest (<8)", "pytest-asyncio (<0.22)", "testpath"] -test-extra = ["curio", "ipython[test]", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] - -[[package]] -name = "jedi" -version = "0.19.1" -description = "An autocompletion tool for Python that can be used for text editors." -category = "main" -optional = false -python-versions = ">=3.6" -files = [ - {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, - {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, -] - -[package.dependencies] -parso = ">=0.8.3,<0.9.0" - -[package.extras] -docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] -qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] - [[package]] name = "jinja2" version = "3.1.3" @@ -1240,21 +1156,6 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] -[[package]] -name = "matplotlib-inline" -version = "0.1.7" -description = "Inline Matplotlib backend for Jupyter" -category = "main" -optional = false -python-versions = ">=3.8" -files = [ - {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, - {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, -] - -[package.dependencies] -traitlets = "*" - [[package]] name = "msgpack" version = "1.0.8" @@ -1321,21 +1222,6 @@ files = [ {file = "msgpack-1.0.8.tar.gz", hash = "sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3"}, ] -[[package]] -name = "mysqlclient" -version = "2.0.3" -description = "Python interface to MySQL" -category = "main" -optional = false -python-versions = ">=3.5" -files = [ - {file = "mysqlclient-2.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:3381ca1a4f37ff1155fcfde20836b46416d66531add8843f6aa6d968982731c3"}, - {file = "mysqlclient-2.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0ac0dd759c4ca02c35a9fedc24bc982cf75171651e8187c2495ec957a87dfff7"}, - {file = "mysqlclient-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:71c4b330cf2313bbda0307fc858cc9055e64493ba9bf28454d25cf8b3ee8d7f5"}, - {file = "mysqlclient-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:fc575093cf81b6605bed84653e48b277318b880dc9becf42dd47fa11ffd3e2b6"}, - {file = "mysqlclient-2.0.3.tar.gz", hash = "sha256:f6ebea7c008f155baeefe16c56cd3ee6239f7a5a9ae42396c2f1860f08a7c432"}, -] - [[package]] name = "numpy" version = "1.26.4" @@ -1382,37 +1268,6 @@ files = [ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] -[[package]] -name = "parso" -version = "0.8.4" -description = "A Python Parser" -category = "main" -optional = false -python-versions = ">=3.6" -files = [ - {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, - {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, -] - -[package.extras] -qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["docopt", "pytest"] - -[[package]] -name = "pexpect" -version = "4.9.0" -description = "Pexpect allows easy control of interactive console applications." -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, - {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, -] - -[package.dependencies] -ptyprocess = ">=0.5" - [[package]] name = "pillow" version = "10.3.0" @@ -1500,21 +1355,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa typing = ["typing-extensions"] xmp = ["defusedxml"] -[[package]] -name = "prompt-toolkit" -version = "3.0.43" -description = "Library for building powerful interactive command lines in Python" -category = "main" -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"}, - {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"}, -] - -[package.dependencies] -wcwidth = "*" - [[package]] name = "psycopg2" version = "2.8.6" @@ -1540,33 +1380,6 @@ files = [ {file = "psycopg2-2.8.6.tar.gz", hash = "sha256:fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543"}, ] -[[package]] -name = "ptyprocess" -version = "0.7.0" -description = "Run a subprocess in a pseudo terminal" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, - {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, -] - -[[package]] -name = "pure-eval" -version = "0.2.2" -description = "Safely evaluate AST nodes without side effects" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"}, - {file = "pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"}, -] - -[package.extras] -tests = ["pytest"] - [[package]] name = "pyasn1" version = "0.6.0" @@ -1606,22 +1419,6 @@ files = [ {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -[[package]] -name = "pygments" -version = "2.17.2" -description = "Pygments is a syntax highlighting package written in Python." -category = "main" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, - {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, -] - -[package.extras] -plugins = ["importlib-metadata"] -windows-terminal = ["colorama (>=0.4.6)"] - [[package]] name = "pymemcache" version = "3.4.4" @@ -1668,6 +1465,9 @@ files = [ {file = "pypdf-4.2.0.tar.gz", hash = "sha256:fe63f3f7d1dcda1c9374421a94c1bba6c6f8c4a62173a59b64ffd52058f846b1"}, ] +[package.dependencies] +typing_extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} + [package.extras] crypto = ["PyCryptodome", "cryptography"] dev = ["black", "flit", "pip-tools", "pre-commit (<2.18.0)", "pytest-cov", "pytest-socket", "pytest-timeout", "pytest-xdist", "wheel"] @@ -1957,26 +1757,6 @@ files = [ dev = ["build", "hatch"] doc = ["sphinx"] -[[package]] -name = "stack-data" -version = "0.6.3" -description = "Extract data from python stack frames and tracebacks for informative displays" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, - {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, -] - -[package.dependencies] -asttokens = ">=2.1.0" -executing = ">=1.2.0" -pure-eval = "*" - -[package.extras] -tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] - [[package]] name = "tinycss2" version = "1.2.1" @@ -1996,22 +1776,6 @@ webencodings = ">=0.4" doc = ["sphinx", "sphinx_rtd_theme"] test = ["flake8", "isort", "pytest"] -[[package]] -name = "traitlets" -version = "5.14.2" -description = "Traitlets Python configuration system" -category = "main" -optional = false -python-versions = ">=3.8" -files = [ - {file = "traitlets-5.14.2-py3-none-any.whl", hash = "sha256:fcdf85684a772ddeba87db2f398ce00b40ff550d1528c03c14dbf6a02003cd80"}, - {file = "traitlets-5.14.2.tar.gz", hash = "sha256:8cdd83c040dab7d1dee822678e5f5d100b514f7b72b01615b26fc5718916fdf9"}, -] - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.1)", "pytest-mock", "pytest-mypy-testing"] - [[package]] name = "twisted" version = "24.3.0" @@ -2337,18 +2101,6 @@ files = [ [package.dependencies] anyio = ">=3.0.0" -[[package]] -name = "wcwidth" -version = "0.2.13" -description = "Measures the displayed width of unicode strings in a terminal" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, - {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, -] - [[package]] name = "weasyprint" version = "52.5" @@ -2555,5 +2307,5 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" -python-versions = "^3.11" -content-hash = "08360e2b240488c6754c0fa3dae558e0e53dc3e539c55f24f40c01143a084240" +python-versions = "^3.9" +content-hash = "4cf028e943026869874560f5d055880af20ed0c82666502201712caf1a75ae3d" diff --git a/pyproject.toml b/pyproject.toml index a82f28d5..64ccf1e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,6 @@ django-unique-session = "1.0.0" django-user-agents = "0.4.0" django-recaptcha = "2.0.6" jxmlease = "1.0.3" -mysqlclient = "2.0.3" numpy = "1.26.4" pypdf = "4.2.0" pymemcache = "3.4.4" diff --git a/requirements-dev.txt b/requirements-dev.txt deleted file mode 100644 index 205f0af6..00000000 --- a/requirements-dev.txt +++ /dev/null @@ -1,34 +0,0 @@ -bigbluebutton-api-python==0.0.11 -channels==3.0.4 -channels_redis==3.4.0 -docutils==0.17.1 -daphne==3.0.2 -Django==3.2.13 -djangorestframework==3.13.1 -django-debug-toolbar==3.2.1 -dj_pagination==2.5.0 # used by postman -django-jazzmin==2.4.7 -django-json-rpc==0.7.1 -# django-google-tools==1.1.0 -django-nvd3==0.8.2 -django-postman==4.2 -django-tinymce==3.3.0 --e git+https://git.parisson.com/git/django-unique-session.git@master#egg=django-unique-session -django-user-agents==0.4.0 -django-recaptcha==2.0.6 -ipython -jxmlease==1.0.3 -mysqlclient==2.0.3 -numpy==1.20.3 -pymemcache==3.4.4 -requests -sorl-thumbnail==12.7.0 -unidecode==1.2.0 -weasyprint==52.5 -xlrd==2.0.1 -xlwt==1.3.0 -psycopg2==2.8.6 -redis==3.5.3 -uwsgi==2.0.19 -uvicorn[standard]==0.18.1 -httpx==0.23.3 diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 5312babb..00000000 --- a/requirements.txt +++ /dev/null @@ -1,34 +0,0 @@ -bigbluebutton-api-python==0.0.11 -channels==3.0.4 -channels_redis==3.4.0 -docutils==0.17.1 -daphne==3.0.2 -Django==3.2.23 -djangorestframework==3.13.1 -django-debug-toolbar==3.2.1 -dj_pagination==2.5.0 # used by postman -django-jazzmin==2.4.7 -django-json-rpc==0.7.1 -django-nvd3==0.9.7 -django-postman==4.2 -django-tinymce==3.3.0 -django-unique-session==1.0.0 -django-user-agents==0.4.0 -django-recaptcha==2.0.6 -ipython -jxmlease==1.0.3 -mysqlclient==2.0.3 -numpy==1.26.4 -pypdf==4.2.0 -pymemcache==3.4.4 -requests -sorl-thumbnail==12.10.0 -unidecode==1.2.0 -weasyprint==52.5 -xlrd==2.0.1 -xlwt==1.3.0 -psycopg2==2.8.6 -redis==3.5.3 -uwsgi==2.0.25.1 -uvicorn[standard]==0.18.1 -httpx==0.23.3