{ "info": { "author": "rezemika", "author_email": "reze.mika@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: GNU Affero General Public License v3", "Natural Language :: French", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Database", "Topic :: Utilities" ], "description": "INSEE PCS : Des outils pour utiliser les Professions et Cat\u00e9gories Socioprofessionnelles de l'INSEE\n===================================================================================================\n\n**INSEE-PCS** est un module Python permettant d'exploiter facilement les Professions et Cat\u00e9gories Socioprofessionnelles de l'INSEE (version 2003).\n\nPlus d'informations sur les PCS peuvent \u00eatre trouv\u00e9es sur le site de l'INSEE : [Nomenclatures des professions et cat\u00e9gories socioprofessionnelles](https://insee.fr/fr/information/2406153).\n\n**Ce code est test\u00e9 uniquement avec Python 3. Les versions de la PCS ant\u00e9rieures \u00e0 2003 ne sont pas support\u00e9es.**\n\n# Installation\n\nCe module est disponnible sur PyPi. Il n\u00e9cessite le module `peewee` pour fonctionner.\n\n $ pip3 install peewee insee-pcs\n\n# Usage\n\n```python3\nimport insee_pcs\n\n# Trouver la PCS \"1\" du niveau 1.\ninsee_pcs.get_PCS(1, \"1\")\n\"\"\n\n# Trouver la description de la PCS \"382b\" du niveau 4.\ninsee_pcs.get_PCS(4, \"382b\").description\n\"Architectes salari\u00e9s\"\n```\n\nIl est aussi possible d'it\u00e9rer r\u00e9cursivement sur tous les enfants d'une PCS avec la m\u00e9thode `iter_children()`. Cette m\u00e9thode accepte un param\u00e8tre optionnel, `max_level`, permettant de d\u00e9finir un niveau maximum pour l'it\u00e9ration.\n\n```python3\n# Affiche r\u00e9cursivement la PCS \"38\" (niveau 2) et ses enfants.\npcs = insee_pcs.get_PCS(2, \"32\")\nfor p in pcs.iter_children():\n print(\"{spaces}{code} : {description}...\".format(spaces=' '*(p.level-2)*2, code=p.code, description=p.description[:20]))\n\"\"\"\n32 : Cadres de la fonctio...\n 33 : Cadres de la fonctio...\n 331a : Personnels de direct...\n 332a : Ing\u00e9nieurs de l\u2019\u00c9tat...\n 332b : Ing\u00e9nieurs des colle...\n 333a : Magistrats...\n 333b : Inspecteurs et autre...\n 333c : Cadres de la Poste...\n 333d : Cadres administratif...\n 333e : Autres personnels ad...\n 333f : Personnels administr...\n 334a : Officiers des Arm\u00e9es...\n 335a : Personnes exer\u00e7ant u...\n 34 : Professeurs, profess...\n 341a : Professeurs agr\u00e9g\u00e9s ...\n 341b : Chefs d\u2019\u00e9tablissemen...\n 342a : Enseignants de l\u2019ens...\n 342e : Chercheurs de la rec...\n 343a : Psychologues sp\u00e9cial...\n 344a : M\u00e9decins hospitalier...\n 344b : M\u00e9decins salari\u00e9s no...\n 344c : Internes en m\u00e9decine...\n 344d : Pharmaciens salari\u00e9s...\n 35 : Professions de l\u2019inf...\n 351a : Biblioth\u00e9caires, arc...\n 352a : Journalistes (y. c. ...\n 352b : Auteurs litt\u00e9raires,...\n 353a : Directeurs de journa...\n 353b : Directeurs, responsa...\n 353c : Cadres artistiques e...\n 354a : Artistes plasticiens...\n 354b : Artistes+B493 de la ...\n 354c : Artistes dramatiques...\n 354d : Artistes de la danse...\n 354g : Professeurs d\u2019art (h...\n\"\"\"\n\n# M\u00eame chose, en limitant l'it\u00e9ration au niveau 3.\npcs = get_PCS(1, \"3\")\nfor p in pcs.iter_children(max_level=3):\n print(\"{spaces}{code} : {description}...\".format(spaces=' '*(p.level-1)*2, code=p.code, description=p.description[:20]))\n\"\"\"\n3 : Cadres et profession...\n 31 : Professions lib\u00e9rale...\n 31 : Professions lib\u00e9rale...\n 32 : Cadres de la fonctio...\n 33 : Cadres de la fonctio...\n 34 : Professeurs, profess...\n 35 : Professions de l\u2019inf...\n 36 : Cadres d\u2019entreprise...\n 37 : Cadres administratif...\n 38 : Ing\u00e9nieurs et cadres...\n\"\"\"\n```\n\nLa fonction `get_all_PCS_of_level()` prend un niveau (`int`) en param\u00e8tre et retourne toutes les PCS du niveau demand\u00e9 dans un objet `SelectQuery` (convertible en liste).\n\n```python3\n# Trouver toutes les PCS de niveau 1. Retourne un objet `SelectQuery`.\nprint(list(get_all_PCS_of_level(1)))\n[, , , , , , , ]\n```\n\nL'objet `PCS` est un mod\u00e8le Peewee classique, vous pouvez donc utiliser toutes les m\u00e9thodes de Peewee dessus.\n\n```python3\n# Trouver toutes les PCS de niveau 4 dont la description contient \"\u00c9leveur\".\nprint(list(PCS.select().where(PCS.level==4, PCS.description.contains(\"\u00c9leveur\"))))\n[, , , , , ]\n```\n\nPour obtenir une aide d\u00e9taill\u00e9e hors-ligne, vous pouvez aussi faire `help()` (par exemple, `help(main_insee)`).\n\n# D\u00e9pendances\n\nCe module n\u00e9cessite `peewee` (disponnible avec `pip`).\n\n# TODO\n\n- Traduction ?\n- Anciennes versions des PCS / CSP ?\n\n# Licence\n\nCe module est distribu\u00e9 sous la licence AGPLv3, dont les termes sont disponnibles dans le fichier [LICENCE](LICENCE).\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/rezemika/python-insee-pcs", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "insee-pcs", "package_url": "https://pypi.org/project/insee-pcs/", "platform": "", "project_url": "https://pypi.org/project/insee-pcs/", "project_urls": { "Homepage": "http://github.com/rezemika/python-insee-pcs" }, "release_url": "https://pypi.org/project/insee-pcs/0.1.0/", "requires_dist": [ "peewee" ], "requires_python": "", "summary": "A set of tools to use the 'Professions et Cat\u00e9gories Socioprofessionnelles' system of INSEE (a French statistical agency).", "version": "0.1.0" }, "last_serial": 3326926, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "88c5d0c9e512f431cf54af6b08b6928d", "sha256": "d44cff46eb8040b237f76bdc1dfe2fcae497a71a6da59d3b86163e3aadfec04a" }, "downloads": -1, "filename": "insee_pcs-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "88c5d0c9e512f431cf54af6b08b6928d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36148, "upload_time": "2017-11-12T20:29:34", "url": "https://files.pythonhosted.org/packages/e8/24/4d69989990299d728df5ca61c3130ffc93df36d7fed92b7fcbf088f4a6ac/insee_pcs-0.1.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "88c5d0c9e512f431cf54af6b08b6928d", "sha256": "d44cff46eb8040b237f76bdc1dfe2fcae497a71a6da59d3b86163e3aadfec04a" }, "downloads": -1, "filename": "insee_pcs-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "88c5d0c9e512f431cf54af6b08b6928d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36148, "upload_time": "2017-11-12T20:29:34", "url": "https://files.pythonhosted.org/packages/e8/24/4d69989990299d728df5ca61c3130ffc93df36d7fed92b7fcbf088f4a6ac/insee_pcs-0.1.0-py3-none-any.whl" } ] }