]> git.parisson.com Git - teleforma.git/commitdiff
cleanup deps
authorGuillaume Pellerin <guillaume.pellerin@free.fr>
Thu, 18 Apr 2024 14:34:51 +0000 (16:34 +0200)
committerGuillaume Pellerin <guillaume.pellerin@free.fr>
Thu, 18 Apr 2024 14:34:51 +0000 (16:34 +0200)
INSTALL.rst [deleted file]
README.rst
debian-packages.txt
poetry.lock
pyproject.toml
requirements-dev.txt [deleted file]
requirements.txt [deleted file]

diff --git a/INSTALL.rst b/INSTALL.rst
deleted file mode 100644 (file)
index abb999b..0000000
+++ /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.
-
index 91fc82a8d1c4477a80837c57c2984504a354c9b4..ad56692268bb469f7898080279f13faf32288066 100644 (file)
@@ -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 <http://telemeta.org>`_ - open web audio CMS
- * `TimeSide <http://code.google.com/p/timeside/>`_ - open web audio components
-
-
 Contact
 =======
 
-Homepage : https://github.com/yomguy/teleforma
+Homepage : https://github.com/parisson/teleforma
 
 E-mail : Guillaume Pellerin <yomguy@parisson.com>
 
-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 <https://github.com/yomguy/teleforma/blob/master/LICENSE>`_)
+CeCILL v2, compatible with GPL v2 (see `LICENSE <https://github.com/parisson/teleforma/blob/master/LICENSE>`_)
 
index 879c5541f9602c35e2dba16120149c0f6254ebb6..856bb5b6fc3bdbdd74bc0f47ed992aa72e19cf57 100644 (file)
@@ -3,7 +3,6 @@ vim
 locales
 python3-ipython
 python3-setuptools
-python3-mysqldb
 python3-psycopg2
 python3-yaml
 uwsgi
index 15d3459354886cb4603c32d5040e7359fe0c6f6e..6e8ce141bdce21592705264b120580e568a7a9ce 100644 (file)
@@ -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"
index a82f28d53a52bf5c9cdd309e69ee41c07449a71b..64ccf1e79b4b73d7052cf6661c0025ffb11bf093 100644 (file)
@@ -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 (file)
index 205f0af..0000000
+++ /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 (file)
index 5312bab..0000000
+++ /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