{
"info": {
"author": "Lilian Besson",
"author_email": "naereen@crans.org",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: Unix",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6"
],
"description": "Un clone en Python 3 de `Parcoursup `_, \u00e9crit \u00e0 but didactique\n==========================================================================================\n\n `\u00c9crit par `_ deux doctorants de `l'\u00e9quipe\n SCEE `_ de\n `CentraleSup\u00e9lec, campus de\n Rennes `_, `Lilian Besson (Naereen) `_ et `Bastien Trotobas (BastienTr) `_, et d'`autres\n collaborateur-trice-s `_.\n\n|Open Source ? Oui !| |Implementation| |Version de Python| |Maintenance|\n|Ask Me Anything !| |Analytics| |Documentation Status| |Build Status|\n|Stars of https://github.com/Naereen/ParcourSup.py/| |Releases of\nhttps://github.com/Naereen/ParcourSup.py/|\n\nPr\u00e9sentation\n------------\n\nCe d\u00e9p\u00f4t contient un clone (presque complet) des algorithmes r\u00e9gissant\nla `plateforme Parcoursup `_, qui g\u00e8re\ndepuis 2018 les affectations des \u00e9l\u00e8ves de classe de Terminale (dans\nles lyc\u00e9es en France) dans leurs formations dans l'enseignement\nsup\u00e9rieur.\n\nLes algorithmes et l'impl\u00e9mentation officielle (en Java) ont \u00e9t\u00e9\ndistribu\u00e9s en acc\u00e8s libre, et sous licence libre (GPL), en mai 2018. En\n2018, ils \u00e9taient h\u00e9berg\u00e9s sur `ce site\n(framagit.org/parcoursup/algorithmes-de-parcoursup) `_.\n\n- Nous proposons ici une impl\u00e9mentation compl\u00e8te des diff\u00e9rents\n algorithmes de Parcoursup, \u00e9crite en Python 3, dans un style tr\u00e8s\n clair, avec des commentaires, et `une\n documentation `_.\n |Documentation Status|\n- Nous avons pour objectif de comprendre et d'expliquer ces\n algorithmes, en utilisant au maximum des notions et des modules\n Python qui soient abordables et compr\u00e9hensibles par des \u00e9l\u00e8ves de\n classes pr\u00e9paratoires scientifiques (typiquement des MPSI).\n- *Note* : Vous pouvez contribuer si vous le souhaiter ! `Une erreur \u00e0\n signaler ? `_,\n ou `une contribution\n possible `_ ?\n Merci d'avance !\n\n--------------\n\nPlan de bataille\n----------------\n\n Pour le d\u00e9veloppement en cours, cf. ce fichier\n `TODO.md `_ !\n\n..\n\n |Commits of https://github.com/Naereen/ParcourSup.py/| / |Date of\n last commit of https://github.com/Naereen/ParcourSup.py/| |Issues of\n https://github.com/Naereen/ParcourSup.py/| : |Open issues of\n https://github.com/Naereen/ParcourSup.py/| / |Closed issues of\n https://github.com/Naereen/ParcourSup.py/|\n\nExplications\n------------\n\n- Pour l'instant, nous avons impl\u00e9ment\u00e9 dans le dossier\n `parcoursup/ `_ un clone complet du code Java\n initial, \u00e9crit en Python 3.\n- Et dans le dossier `notebooks/ `_ nous proposons des\n impl\u00e9mentations simplifi\u00e9es des principaux algorithmes, \u00e9crites sans\n d\u00e9pendances et dans un style tr\u00e8s didactique, avec des visualisations\n interactives afin de permettre \u00e0 tout le monde d'exp\u00e9rimenter un peu\n et de visualiser le comportement des algorithmes. L'accent est mis\n sur la compr\u00e9hension rapide de l'influence des diff\u00e9rents param\u00e8tres\n num\u00e9riques.\n\n- TODO expliquer l'algorithme dans les grandes lignes, avec notre\n propre vocabulaire, ici.\n\nOrganisation de ce d\u00e9p\u00f4t\n------------------------\n\n- Des visualisations sont `aussi dans le dossier\n notebooks/ `_. TODO encore \u00e0 travailler !\n- Le code des algorithmes est `dans le dossier\n parcoursup/ `_, comme le code Java initial, c'est\n d\u00e9coup\u00e9 en deux modules, `ordreappel `_\n et `propositions `_,\n- Les (exemples de) donn\u00e9es synth\u00e9tiques g\u00e9n\u00e9r\u00e9es sont `dans le dossier\n donnees/ `_,\n- Des tests (plusieurs centaines) sont pr\u00e9sents dans le dossier\n `tests/ `_, inspir\u00e9s par `ce\n projet `_,\n |Build Status|\n- Une documentation de notre impl\u00e9mentation compl\u00e8te est disponible en\n ligne, `sur la page\n suivante `_,\n construite avec Sphinx \u00e0 partir des fichiers pr\u00e9sents dans `le\n dossier docs/ `_,\n- Des utilitaires sont `dans le dossier utils/ `_,\n\nD\u00e9monstration dans un `notebook Jupyter `_\n---------------------------------------------------------------------\n\n- Des visualisations sont dans `le dossier\n notebooks/ `_.\n\n|Binder|\n\n|Google Colab|\n\n--------------\n\nDocumentation officielle et ressources\n--------------------------------------\n\n- La page officielle de pr\u00e9sentation de Parcoursup est\n `ici `_\n (en 2018).\n\nCommunications journalistiques, entre le 23 mai 2018 et le 15 juillet\n2018 :\n\n- Les indicateurs quotidiennement publi\u00e9s par le minist\u00e8re sont sur\n `cette page\n l\u00e0 `_\n (en juin 2018).\n\n- Cette carte qui montre jour apr\u00e8s jour les r\u00e9sultats donn\u00e9s par\n Parcoursup :\n `statistiques.parcoursup.fr `_.\n > Nous voulons proposer notre propre carte de visualisation, `c'est\n en cours `_\u2026\n\nDes d\u00e9tails sur les algorithmes :\n\n- `Ce document\n texte `_\n et `cet autre document\n PDF `_\n donnent plein d'explications.\n\n- `Ce texte du Journal\n Officiel `_\n montre l'autorisation donn\u00e9e par la CNIL pour la cr\u00e9ation de la base\n de donn\u00e9es pour Parcoursup, et d\u00e9taille un peu toutes les\n informations stock\u00e9es pour le service. Il est important de garder en\n t\u00eate que ces donn\u00e9es ne sont **pas** utilis\u00e9es par les algorithmes de\n Parcoursup, qui n'utilisent qu'un identifiant unique et anonyme pour\n identifier chaque candidat-e.\n\nAutres ressources, moins techniques mais plus p\u00e9dagogiques :\n\n- `Le dossier de presse du\n minist\u00e8re `_\n pour Parcoursup\n\n- Ces articles sur des blogs du Monde: sur\n `ingenuingenieur.blog.lemonde.fr `_,\n sur\n `enseigner.blog.lemonde.fr `_\n ou sur\n `binaire.blog.lemonde.fr `_.\n\n- `Cet autre article par Cl\u00e9mence R\u00e9da est\n instructif `_.\n\n--------------\n\nExemples\n--------\n\nInstallation\n~~~~~~~~~~~~\n\nCes lignes de `Bash `_ (\u00e0 ex\u00e9cuter\nsur une machine type GNU/Linux ou un Mac avec les outils standards)\nclone ce d\u00e9p\u00f4t, et installent un `virtualenv\nPython `_ et installent `les\nd\u00e9pendances `_ dans cet environnement virtuel :\n\n.. code:: bash\n\n cd /tmp/\n git clone https://GitHub.com/Naereen/ParcourSup.py\n cd Parcoursup.py/\n make install\n\n..\n\n Note : Il n'est pas n\u00e9cessaire d'utiliser un virtualenv, mais\n c'est recommand\u00e9. Vous pouvez simplement installer les modules\n requis avec sudo pip install -r requirements.txt.\n\n..\n\n Note : notre code n'est pas sp\u00e9cifiquement \u00e9crit pour une machine\n utilisant GNU/Linux, et il devrait fonctionner sur n'importe quelle\n plateforme qui supporte Python 3.6 (Microsoft Windows et Mac OS X\n notamment). Il est test\u00e9 sous GNU/Linux (XUbuntu) *et* sous\n Microsoft Windows 7. `N'h\u00e9sitez pas \u00e0 signaler un\n probl\u00e8me `_,\n si besoin. Merci d'avance !\n\nTests |Build Status|\n~~~~~~~~~~~~~~~~~~~~\n\nLes tests qui reproduisent\n(`presque `_)\nparfaitement `les donn\u00e9es d'exemples `_ peuvent \u00eatre ex\u00e9cut\u00e9s\navec les deux commandes suivantes :\n\n- Ordres d'appel :\n\n.. code:: bash\n\n $ . env/bin/activate ; python3 ./parcoursup/ordreappel/__init__.py\n ...\n\n- Proposition de v\u0153ux :\n\n.. code:: bash\n\n $ . env/bin/activate ; python3 ./parcoursup/propositions/__init__.py\n ...\n\n- Ces deux tests prennent environ 30 secondes chacun.\n\n Note : Il n'est pas n\u00e9cessaire d'utiliser un virtualenv, mais\n c'est recommand\u00e9. Vous pouvez simplement faire les tests avec\n python3 ./parcoursup/ordreappel/__init__.py et\n python3 ./parcoursup/propositions/__init__.py.\n\n- Des tests suppl\u00e9mentaires ont \u00e9t\u00e9 r\u00e9cemment ajout\u00e9s (voir\n `#3 `_).\n\n--------------\n\nConstruire la documentation ? |Documentation Status|\n----------------------------------------------------\n\n- Demande d'avoir le module `sphinx `_\n install\u00e9. (sudo pip3 install sphinx si besoin).\n- Puis, dans le dossier principal, il suffit de faire :\n\n.. code:: bash\n\n $ make docs\n\n- Sous Windows ou si GNU Make n'est pas disponible, vous pouvez\n construire la documentation manuellement avec les deux commandes\n suivantes :\n\n.. code:: bash\n\n $ sphinx-apidoc -f -o ./docs -e -M ./parcoursup/\n $ sphinx-build -M html ./docs ./_build\n $ ./docs/.fixes_html_in_doc.sh\n\n--------------\n\n\u00c0 propos\n--------\n\nLanguage et versions ?\n~~~~~~~~~~~~~~~~~~~~~~\n\n`Python v3.6+ `_. Avec les `modules\nsuivants `_ :\n\n- `Numpy `_ pour les tableaux,\n- `La biblioth\u00e8que standard `_ pour tout\n le reste.\n- `ipython `_,\n `Jupyter `_ pour les notebooks.\n- `tqdm `_ sont optionnels.\n\nLicence ? |GitHub license|\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nCode libre, `sous licence MIT `_\n(file `LICENSE `_). \u00a9 `Lilian\nBesson `_ et `Bastien\nTrotobas `_ et collaborateur-trice-s,\n2018.\n\n|Open Source ? Oui !| |Implementation| |Version de Python| |Maintenance|\n|Ask Me Anything !| |Analytics| |Documentation Status| |Build Status|\n|Stars of https://github.com/Naereen/ParcourSup.py/| |Releases of\nhttps://github.com/Naereen/ParcourSup.py/|\n\n|ForTheBadge uses-badges| |ForTheBadge uses-git| |forthebadge\nmade-with-python| |ForTheBadge built-with-science|\n\n.. |Open Source ? Oui !| image:: https://badgen.net/badge/Open%20Source%20%3F/Oui%20%21/blue?icon=github\n :target: https://github.com/Naereen/ParcourSup.py/\n.. |Implementation| image:: https://img.shields.io/pypi/implementation/parcoursup.svg\n :target: https://www.python.org/\n.. |Version de Python| image:: https://img.shields.io/pypi/pyversions/parcoursup.svg\n :target: https://docs.python.org/3/\n.. |Maintenance| image:: https://img.shields.io/badge/Maintenu%3F-Oui%20%21-green.svg\n :target: https://GitHub.com/Naereen/ParcourSup.py/graphs/commit-activity\n.. |Ask Me Anything !| image:: https://img.shields.io/badge/Posez-une%20question-1abc9c.svg\n :target: https://GitHub.com/Naereen/ama\n.. |Analytics| image:: https://ga-beacon.appspot.com/UA-38514290-17/github.com/Naereen/ParcourSup.py/README.md?pixel\n :target: https://GitHub.com/Naereen/ParcourSup.py/\n.. |Documentation Status| image:: https://readthedocs.org/projects/parcoursuppy/badge/?version=latest\n :target: https://parcoursuppy.readthedocs.io/fr/latest/?badge=latest\n.. |Build Status| image:: https://travis-ci.org/Naereen/ParcourSup.py.svg?branch=master\n :target: https://travis-ci.org/Naereen/ParcourSup.py\n.. |Stars of https://github.com/Naereen/ParcourSup.py/| image:: https://badgen.net/github/stars/Naereen/ParcourSup.py\n :target: https://GitHub.com/Naereen/ParcourSup.py/stargazers\n.. |Releases of https://github.com/Naereen/ParcourSup.py/| image:: https://badgen.net/github/release/Naereen/ParcourSup.py\n :target: https://github.com/Naereen/ParcourSup.py/releases\n.. |Commits of https://github.com/Naereen/ParcourSup.py/| image:: https://badgen.net/github/commits/Naereen/ParcourSup.py\n :target: https://github.com/Naereen/ParcourSup.py/commits/master\n.. |Date of last commit of https://github.com/Naereen/ParcourSup.py/| image:: https://badgen.net/github/last-commit/Naereen/ParcourSup.py\n :target: https://github.com/Naereen/ParcourSup.py/commits/master\n.. |Issues of https://github.com/Naereen/ParcourSup.py/| image:: https://badgen.net/github/issues/Naereen/ParcourSup.py\n :target: https://GitHub.com/Naereen/ParcourSup.py/issues\n.. |Open issues of https://github.com/Naereen/ParcourSup.py/| image:: https://badgen.net/github/open-issues/Naereen/ParcourSup.py\n :target: https://github.com/Naereen/ParcourSup.py/issues?q=is%3Aopen+is%3Aissue\n.. |Closed issues of https://github.com/Naereen/ParcourSup.py/| image:: https://badgen.net/github/closed-issues/Naereen/ParcourSup.py\n :target: https://github.com/Naereen/ParcourSup.py/issues?q=is%3Aclosed+is%3Aissue\n.. |Binder| image:: https://mybinder.org/badge.svg\n :target: https://mybinder.org/v2/gh/Naereen/ParcourSup.py/master?filepath=notebooks%2FParcourSup.py_version_simplifiee.ipynb\n.. |Google Colab| image:: https://badgen.net/badge/Lancer/sur%20Google%20Colab/blue?icon=terminal\n :target: https://colab.research.google.com/github/Naereen/ParcourSup.py/blob/master/notebooks/ParcourSup.py_version_simplifiee.ipynb\n.. |GitHub license| image:: https://img.shields.io/github/license/Naereen/ParcourSup.py.svg\n :target: https://github.com/Naereen/ParcourSup.py/blob/master/LICENSE\n.. |ForTheBadge uses-badges| image:: http://ForTheBadge.com/images/badges/uses-badges.svg\n :target: http://ForTheBadge.com\n.. |ForTheBadge uses-git| image:: http://ForTheBadge.com/images/badges/uses-git.svg\n :target: https://GitHub.com/\n.. |forthebadge made-with-python| image:: http://ForTheBadge.com/images/badges/made-with-python.svg\n :target: https://www.python.org/\n.. |ForTheBadge built-with-science| image:: http://ForTheBadge.com/images/badges/built-with-science.svg\n :target: https://GitHub.com/Naereen/\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "https://github.com/Naereen/ParcourSup.py/releases/",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/Naereen/ParcourSup.py/",
"keywords": "parcoursup,python3,clone-libre,open-source,france,exemple,lycee,education-nationale,visualisations,algorithmes",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "parcoursup",
"package_url": "https://pypi.org/project/parcoursup/",
"platform": "GNU/Linux",
"project_url": "https://pypi.org/project/parcoursup/",
"project_urls": {
"Download": "https://github.com/Naereen/ParcourSup.py/releases/",
"Homepage": "https://github.com/Naereen/ParcourSup.py/"
},
"release_url": "https://pypi.org/project/parcoursup/0.2.1/",
"requires_dist": [
"numpy",
"tqdm (>=4.0)",
"jupyter",
"ipython",
"watermark",
"ipythonblocks",
"sphinx",
"sphinx-rtd-theme",
"recommonmark"
],
"requires_python": "",
"summary": "ParcourSup.py : un clone en Python 3 de ParcoursSup, \u00e9crit \u00e0 but didactique",
"version": "0.2.1"
},
"last_serial": 4485812,
"releases": {
"0.1.dev4": [
{
"comment_text": "",
"digests": {
"md5": "4854e8efec43ab4b8e3056a14c2f2c61",
"sha256": "32906da75d41a344e55bc6148a88af706cf1164b43db30fdd8a721b2f7dec10c"
},
"downloads": -1,
"filename": "parcoursup-0.1.dev4-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "4854e8efec43ab4b8e3056a14c2f2c61",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 49540,
"upload_time": "2018-11-14T14:05:51",
"url": "https://files.pythonhosted.org/packages/05/54/889cd67511f04d5dc96e41ad725941b610c07f44d8db526c251184cbed21/parcoursup-0.1.dev4-py2.py3-none-any.whl"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "dae956e8b7001435eccc644defb1fdb4",
"sha256": "57f0a36e5066709e28c14d6eac94d45a20fbf0a572a397644b8c260087fe87c4"
},
"downloads": -1,
"filename": "parcoursup-0.2-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "dae956e8b7001435eccc644defb1fdb4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 49466,
"upload_time": "2018-11-14T14:10:29",
"url": "https://files.pythonhosted.org/packages/18/2d/2a0f4c466fe1d4389c9e52eeb4ce4f35104cc3452845cad5f3814c1b7e62/parcoursup-0.2-py2.py3-none-any.whl"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "fcbc808d0133689c6c54f2a4edac6792",
"sha256": "e3213dcdbf3936df234d95b07c95a46e42f4f2906de59b4ad660da80e05d9b78"
},
"downloads": -1,
"filename": "parcoursup-0.2.1-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "fcbc808d0133689c6c54f2a4edac6792",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 49520,
"upload_time": "2018-11-14T14:20:52",
"url": "https://files.pythonhosted.org/packages/56/a0/d35fc48f17ed229fb91c5000910ec8473b46eccd94469e9d0f4e28d556c9/parcoursup-0.2.1-py2.py3-none-any.whl"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "fcbc808d0133689c6c54f2a4edac6792",
"sha256": "e3213dcdbf3936df234d95b07c95a46e42f4f2906de59b4ad660da80e05d9b78"
},
"downloads": -1,
"filename": "parcoursup-0.2.1-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "fcbc808d0133689c6c54f2a4edac6792",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 49520,
"upload_time": "2018-11-14T14:20:52",
"url": "https://files.pythonhosted.org/packages/56/a0/d35fc48f17ed229fb91c5000910ec8473b46eccd94469e9d0f4e28d556c9/parcoursup-0.2.1-py2.py3-none-any.whl"
}
]
}