{ "info": { "author": "thewizardplusplus", "author_email": "thewizardplusplus@yandex.ru", "bugtrack_url": null, "classifiers": [], "description": "Features\n--------\n\n- vacancies loading from:\n\n - `hh.ru `__ service API;\n - JSON files;\n\n- collection of vacancies key skills;\n- collection for every vacancy key skill:\n\n - request frequency;\n - median salary:\n\n - minimal;\n - maximal;\n\n- vacancies search options:\n\n - area list (allowed values (in JSON format):\n https://api.hh.ru/areas);\n - specialization list (allowed values (in JSON format):\n https://api.hh.ru/specializations);\n - additional search query (it supports a query language:\n https://hh.ru/article/1175);\n - search fields for the search query (allowed values: ``name``,\n ``description``);\n - search vacancies only with a salary;\n - begin of the time period for an analysis (in the ISO 8601 or the\n human-readable format; see below for details);\n - end of the time period for an analysis (in the ISO 8601 or the\n human-readable format; see below for details);\n - time increment for an iteration over the time period (in the\n human-readable format; see below for details);\n\n- automatic conversion of a salary currency;\n- automatic separation of unseparated skills;\n- support of skills aliases (see below for details);\n- output of a collected stats:\n\n - in a format:\n\n - raw (a vacancy list in a JSON format; see below for details);\n - CSV;\n - SVG;\n\n - to:\n\n - specified file;\n - stdout (only for raw and CSV formats);\n - window via `Matplotlib `__ library\n (only for SVG format);\n\n- support of a specification of a minimal output value of skills\n requests frequencies;\n- automatic adding of an output file extension, depending on a\n specified format.\n\nInstallation\n------------\n\n::\n\n $ pip install hh-stats\n\nUsage\n-----\n\n::\n\n $ hh-stats -v | --version\n $ hh-stats -h | --help\n $ hh-stats [options]\n\nOptions:\n\n- ``-v``, ``--version`` \u2014 show the version message and exit;\n- ``-h``, ``--help`` \u2014 show this help message and exit;\n- ``-a AREA [AREA...]``, ``--areas AREA [AREA...]`` \u2014 vacancies areas\n (allowed values (in JSON format): https://api.hh.ru/areas; default:\n ``['1']``);\n- ``-s SPECIALIZATION [SPECIALIZATION...]``,\n ``--specializations SPECIALIZATION [SPECIALIZATION...]`` \u2014 vacancies\n specializations (allowed values (in JSON format):\n https://api.hh.ru/specializations; default: ``['1.221']``);\n- ``-q QUERY``, ``--query QUERY`` \u2014 the additional search query (it\n supports a query language: https://hh.ru/article/1175);\n- ``-p {name,description} [{name,description}...]``,\n ``--query-properties {name,description} [{name,description}...]`` \u2014\n search fields for the search query (allowed values: ``name``,\n ``description``; default: ``['name', 'description']``);\n- ``-r``, ``--salary-required`` \u2014 search vacancies only with a salary;\n- ``-b ANALYSIS_BEGIN``, ``--analysis-begin ANALYSIS_BEGIN`` \u2014 a begin\n of the analysis time period in the ISO 8601 or the human-readable\n format (default: ``1 month ago``);\n- ``-e ANALYSIS_END``, ``--analysis-end ANALYSIS_END`` \u2014 an end of the\n analysis time period in the ISO 8601 or the human-readable format\n (default: ``now``);\n- ``-I ANALYSIS_INCREMENT``,\n ``--analysis-increment ANALYSIS_INCREMENT`` \u2014 the analysis time\n increment in the human-readable format (see below for details);\n- ``-F REQUEST_FREQUENCY``, ``--request-frequency REQUEST_FREQUENCY`` \u2014\n the maximal request frequency (default: 30);\n- ``-S PAGE_SIZE``, ``--page-size PAGE_SIZE`` \u2014 the maximal page size\n (default: 500);\n- ``-V VALUE_OF_INTEREST``, ``--value-of-interest VALUE_OF_INTEREST`` \u2014\n the minimal value of an interest (default: 5);\n- ``-E``, ``--error-on-limit`` \u2014 throw an error on an exceeding of the\n search limit (2000 vacancies);\n- ``-D [SKILLS_DELIMITER...]``,\n ``--skills-delimiters [SKILLS_DELIMITER...]`` \u2014 delimiters for\n unseparated skills (default: ``[',', ';']``);\n- ``-A SKILLS_ALIASES``, ``--skills-aliases SKILLS_ALIASES`` \u2014 the path\n to a file with skills aliases in a JSON format (see below for\n details);\n- ``-O {num,min,max}``, ``--order {num,min,max}`` \u2014 the order of stats\n items (default: ``num``);\n- ``-f {raw,csv,svg} [{raw,csv,svg}...]``,\n ``--format {raw,csv,svg} [{raw,csv,svg}...]`` \u2014 the output format\n (default: ``['svg']``);\n- ``-i INPUT [INPUT...]``, ``--inputs INPUT [INPUT...]`` \u2014 input paths;\n- ``-o OUTPUT``, ``--output OUTPUT`` \u2014 the output path.\n\nTimestamp format\n----------------\n\nISO 8601 format\n~~~~~~~~~~~~~~~\n\n::\n\n YYYY-MM-DDTHH:MM:SS\u00b1HHMM\n\nHuman-readable format\n~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n \u00b1 \n\nUnits: ``year``, ``month``, ``week``, ``day``, ``hour``, ``minute``,\n``second``.\n\nModifiers: ``from``, ``before``, ``after``, ``ago``, ``prior``,\n``prev``, ``last``, ``next``, ``previous``, ``end of``, ``this``,\n``eod``, ``eom``, ``eoy``.\n\nReference points: months, weekdays, ``yesterday``, ``today``, ``now``,\n``tomorrow``, ``noon``, ``afternoon``, ``lunch``, ``morning``,\n``breakfast``, ``dinner``, ``evening``, ``midnight``, ``night``,\n``tonight``.\n\nE.g.:\n\n::\n\n 5 minutes from now\n 5 minutes ago\n 1 hour from noon\n last week\n 2 weeks from tomorrow\n 3 hours from next monday\n\nSee for details: https://github.com/bear/parsedatetime.\n\nHuman-readable time delta format\n--------------------------------\n\nE.g. ``5 d 12 h 23 m 42 s``.\n\nSee for details: https://github.com/wroberts/pytimeparse.\n\nSkills aliases format\n---------------------\n\nSkills aliases format in the JSON Schema format:\n\n.. code:: json\n\n {\n \"type\": \"object\",\n \"patternProperties\": {\n \"^.+$\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"uniqueItems\": true,\n \"minItems\": 1\n }\n },\n \"additionalProperties\": false,\n \"minProperties\": 1\n }\n\nE.g.:\n\n.. code:: json\n\n {\n \"HTML\": [\"HTML5\"],\n \"CSS\": [\"CSS3\"],\n \"JavaScript\": [\"ES5\", \"ES6\", \"ES7\", \"ES2015\", \"ES2016\", \"ES2017\"],\n \"PHP\": [\"PHP5\", \"PHP7\"],\n \"Python\": [\"Python2\", \"Python3\"],\n \"Go\": [\"Golang\"],\n \"C++\": [\"C/C++\", \"C++11\", \"C++14\", \"C++17\"],\n \"bash\": [\"shell\"]\n }\n\nVacancy list format\n-------------------\n\nVacancy list format in the JSON Schema format:\n\n.. code:: json\n\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"pattern\": \"^\\\\d+$\"\n },\n \"skills\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"minItems\": 1\n },\n \"salary\": {\n \"type\": \"object\",\n \"properties\": {\n \"minimal\": {\n \"$ref\": \"#/definitions/amount\"\n },\n \"maximal\": {\n \"$ref\": \"#/definitions/amount\"\n }\n },\n \"required\": [\n \"minimal\",\n \"maximal\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"id\",\n \"skills\",\n \"salary\"\n ],\n \"additionalProperties\": false\n },\n \"minItems\": 1,\n \"definitions\": {\n \"amount\": {\n \"oneOf\": [\n {\n \"type\": \"null\"\n },\n {\n \"type\": \"number\",\n \"minimum\": 0\n }\n ]\n }\n }\n }\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/thewizardplusplus/hh-stats", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "hh-stats", "package_url": "https://pypi.org/project/hh-stats/", "platform": "", "project_url": "https://pypi.org/project/hh-stats/", "project_urls": { "Homepage": "https://github.com/thewizardplusplus/hh-stats" }, "release_url": "https://pypi.org/project/hh-stats/1.4.0/", "requires_dist": [ "jsonschema (<3.0,>=2.6.0)", "matplotlib (<3.0,>=2.0.2)", "parsedatetime (>=2.4,<3.0)", "pytimeparse (>=1.1.6,<2.0)", "requests (>=2.18.1,<3.0)", "termcolor (<2.0,>=1.1.0)", "tzlocal (<2.0,>=1.4)" ], "requires_python": ">=3.5, <4.0", "summary": "Utility for a collection of a vacancies stats from hh.ru service", "version": "1.4.0" }, "last_serial": 2993013, "releases": { "1.4.0": [ { "comment_text": "", "digests": { "md5": "859a25722b6ca0dd4596de96b1ba3cca", "sha256": "6da278db8b48a806c6e6e6e7cb501f29cda34ef36349fbc11b7ccd664e041ef8" }, "downloads": -1, "filename": "hh_stats-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "859a25722b6ca0dd4596de96b1ba3cca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5, <4.0", "size": 18224, "upload_time": "2017-07-01T20:13:20", "url": "https://files.pythonhosted.org/packages/d6/7e/06919fb5ab478a599633b9b696221b2196bc79245831cc49a65d8108dde3/hh_stats-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8b04740708c0136eb53eecdd6d6206e", "sha256": "e97f2fdba123e398a39fd829f3e897765fd6786c85e1ad61cecd7c83c5d70b81" }, "downloads": -1, "filename": "hh-stats-1.4.0.tar.gz", "has_sig": false, "md5_digest": "c8b04740708c0136eb53eecdd6d6206e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5, <4.0", "size": 14552, "upload_time": "2017-07-01T20:13:21", "url": "https://files.pythonhosted.org/packages/bf/06/33e807458a370fa7ae7e4e9e2709abec00d931876fe8f1938ebc896eb585/hh-stats-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "859a25722b6ca0dd4596de96b1ba3cca", "sha256": "6da278db8b48a806c6e6e6e7cb501f29cda34ef36349fbc11b7ccd664e041ef8" }, "downloads": -1, "filename": "hh_stats-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "859a25722b6ca0dd4596de96b1ba3cca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5, <4.0", "size": 18224, "upload_time": "2017-07-01T20:13:20", "url": "https://files.pythonhosted.org/packages/d6/7e/06919fb5ab478a599633b9b696221b2196bc79245831cc49a65d8108dde3/hh_stats-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8b04740708c0136eb53eecdd6d6206e", "sha256": "e97f2fdba123e398a39fd829f3e897765fd6786c85e1ad61cecd7c83c5d70b81" }, "downloads": -1, "filename": "hh-stats-1.4.0.tar.gz", "has_sig": false, "md5_digest": "c8b04740708c0136eb53eecdd6d6206e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5, <4.0", "size": 14552, "upload_time": "2017-07-01T20:13:21", "url": "https://files.pythonhosted.org/packages/bf/06/33e807458a370fa7ae7e4e9e2709abec00d931876fe8f1938ebc896eb585/hh-stats-1.4.0.tar.gz" } ] }