{ "info": { "author": "Gustavo Carneiro", "author_email": "gustavocarneiro@gambitresearch.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Utilities" ], "description": "================\nYet Another Cron\n================\n\n\nA modern Cron replacement that is Docker-friendly\n\n\n* Free software: MIT license\n\n.. image:: https://travis-ci.org/gjcarneiro/yacron.svg?branch=master&maxAge=600\n :target: https://travis-ci.org/gjcarneiro/yacron\n.. image:: https://coveralls.io/repos/github/gjcarneiro/yacron/badge.svg?branch=master&maxAge=600\n :target: https://coveralls.io/github/gjcarneiro/yacron?branch=master\n\n\nFeatures\n--------\n\n* \"Crontab\" is in YAML format;\n* Builtin sending of Sentry and Mail outputs when cron jobs fail;\n* Flexible configuration: you decide how to determine if a cron job fails or not;\n* Designed for running in Docker, Kubernetes, or 12 factor environments:\n\n * Runs in the foreground;\n * Logs everything to stdout/stderr [1]_;\n\n* Option to automatically retry failing cron jobs, with exponential backoff.\n\n.. [1] Whereas vixie cron only logs to syslog, requiring a syslog daemon to be running in the background or else you don't get logs!\n\nStatus\n--------------\n\nThe project is in beta stage: essential features are complete, and the focus is\nfinding and fixing bugs before the first stable release.\n\nInstallation\n------------\nyacron requires Python >= 3.5. It is advisable to install it in a Python virtual environment, for example:\n\n.. code-block:: shell\n\n virtualenv -p python3 yacronenv\n . yacronenv/bin/activate\n pip install yacron\n\nUsage\n-----\n\nConfiguration is in YAML format. To start yacron, give it a configuration file\nor directory path as the ``-c`` argument. For example::\n\n yacron -c /tmp/my-crontab.yaml\n\nThis starts yacron (always in the foreground!), reading ``/tmp/my-crontab.yaml``\nas configuration file. If the path is a directory, any ``*.yaml`` or ``*.yml`` files inside this directory are taken as configuration files.\n\nConfiguration basics\n++++++++++++++++++++\n\nThis configuration runs a command every 5 minutes:\n\n.. code-block:: yaml\n\n jobs:\n - name: test-01\n command: echo \"foobar\"\n shell: /bin/bash\n schedule: \"*/5 * * * *\"\n\nThe command can be a string or a list of strings. If command is a string,\nyacron runs it through a shell, which is ``/bin/bash`` in the above example, but\nis ``/bin/sh`` by default.\n\nIf the command is a list of strings, the command is executed directly, without a\nshell. The ARGV of the command to execute is extracted directly from the\nconfiguration:\n\n.. code-block:: yaml\n\n jobs:\n - name: test-01\n command:\n - echo\n - foobar\n schedule: \"*/5 * * * *\"\n\n\nThe `schedule` option can be a string in the traditional crontab format\n(including @reboot, which will only run the job when yacron is initially\nexecuted), or can be an object with properties. The following configuration\nruns a command every 5 minutes, but only on the specific date 2017-07-19, and\ndoesn't run it in any other date:\n\n.. code-block:: yaml\n\n jobs:\n - name: test-01\n command: echo \"foobar\"\n schedule:\n minute: \"*/5\"\n dayOfMonth: 19\n month: 7\n year: 2017\n dayOfWeek: \"*\"\n\nImportant: by default all time is interpreted to be in UTC, but you can\nrequest to use local time instead. For instance, the cron job below runs\nevery day at 19h27 *local time* because of the ``utc: false`` option:\n\n.. code-block:: yaml\n\n jobs:\n - name: test-01\n command: echo \"hello\"\n schedule: \"27 19 * * *\"\n utc: false\n captureStdout: true\n\n\nYou can ask for environment variables to be defined for command execution:\n\n.. code-block:: yaml\n\n jobs:\n - name: test-01\n command: echo \"foobar\"\n shell: /bin/bash\n schedule: \"*/5 * * * *\"\n environment:\n - key: PATH\n value: /bin:/usr/bin\n\nSpecifying defaults\n+++++++++++++++++++\n\n\nThere can be a special ``defaults`` section in the config. Any attributes\ndefined in this section provide default values for cron jobs to inherit.\nAlthough cron jobs can still override the defaults, as needed:\n\n.. code-block:: yaml\n\n defaults:\n environment:\n - key: PATH\n value: /bin:/usr/bin\n shell: /bin/bash\n utc: false\n jobs:\n - name: test-01\n command: echo \"foobar\" # runs with /bin/bash as shell\n schedule: \"*/5 * * * *\"\n - name: test-02 # runs with /bin/sh as shell\n command: echo \"zbr\"\n shell: /bin/sh\n schedule: \"*/5 * * * *\"\n\nNote: if the configuration option is a directory and there are multiple configuration files in that directory, then the ``defaults`` section in each configuration file provides default options only for cron jobs inside that same file; the defaults have no effect beyond any individual YAML file.\n\nReporting\n+++++++++\n\nYacron has builtin support for reporting jobs failure (more on that below) by\nemail and Sentry (additional reporting methods might be added in the future):\n\n.. code-block:: yaml\n\n - name: test-01\n command: |\n echo \"hello\" 1>&2\n sleep 1\n exit 10\n schedule:\n minute: \"*/2\"\n captureStderr: true\n onFailure:\n report:\n sentry:\n dsn:\n value: example\n # Alternatively:\n # fromFile: /etc/secrets/my-secret-dsn\n # fromEnvVar: SENTRY_DSN\n fingerprint: # optional, since yacron 0.6\n - yacron\n - \"{{ environment.HOSTNAME }}\"\n - \"{{ name }}\"\n extra:\n foo: bar\n zbr: 123\n level: warning\n mail:\n from: example@foo.com\n to: example@bar.com\n smtpHost: 127.0.0.1\n\nHere, the ``onFailure`` object indicates that what to do when a job failure\nis detected. In this case we ask for it to be reported both to sentry and by\nsending an email.\n\nThe ``captureStderr: true`` part instructs yacron to capture output from the the\nprogram's `standard error`, so that it can be included in the report. We could\nalso turn on `standard output` capturing via the ``captureStdout: true`` option.\nBy default, yacron captures only standard error. If a cron job's standard error\nor standard output capturing is not enabled, these streams will simply write to\nthe same standard output and standard error as yacron itself.\n\nIt is possible also to report job success, as well as failure, via the\n``onSuccess`` option.\n\n.. code-block:: yaml\n\n - name: test-01\n command: echo \"hello world\"\n schedule:\n minute: \"*/2\"\n captureStdout: true\n onSuccess:\n report:\n mail:\n from: example@foo.com\n to: example@bar.com\n smtpHost: 127.0.0.1\n\nSince yacron 0.5, it is possible to customise the format of the report. For\n``mail`` reporting, the option ``subject`` indicates what is the subject of the\nemail, while ``body`` formats the email body. For Sentry reporting, there is\nonly ``body``. In all cases, the values of those options are strings that are\nprocessed by the jinja2_ templating engine. The following variables are\navailable in templating:\n\n* name(str): name of the cron job\n* success(bool): whether or not the cron job succeeded\n* stdout(str): standard output of the process\n* stderr(str): standard error of the process\n* exit_code(int): process exit code\n* command(str): cron job command\n* shell(str): cron job shell\n* environment(dict): subprocess environment variables\n\n.. _jinja2: http://jinja.pocoo.org/\n\nExample:\n\n.. code-block:: yaml\n\n - name: test-01\n command: |\n echo \"hello\" 1>&2\n sleep 1\n exit 10\n schedule:\n minute: \"*/2\"\n captureStderr: true\n onFailure:\n report:\n mail:\n from: example@foo.com\n to: example@bar.com\n smtpHost: 127.0.0.1\n subject: Cron job '{{name}}' {% if success %}completed{% else %}failed{% endif %}\n body: |\n {{stderr}}\n (exit code: {{exit_code}})\n\n\nMetrics\n+++++++++\n\nYacron has builtin support for writing job metrics to Statsd_:\n\n.. _Statsd: https://github.com/etsy/statsd\n\n.. code-block:: yaml\n\n jobs:\n - name: test01\n command: echo \"hello\"\n schedule: \"* * * * *\"\n statsd:\n host: my-statsd.exemple.com\n port: 8125\n prefix: my.cron.jobs.prefix.test01\n\nWith this config Yacron will write the following metrics over UDP\nto the Statsd listening on ``my-statsd.exemple.com:8125``:\n\n.. code-block::\n\n my.cron.jobs.prefix.test01.start:1|g # this one is sent when the job starts\n my.cron.jobs.prefix.test01.stop:1|g # the rest are sent when the job stops\n my.cron.jobs.prefix.test01.success:1|g\n my.cron.jobs.prefix.test01.duration:3|ms|@0.1\n\n\nHandling failure\n++++++++++++++++\n\nBy default, yacron considers that a job has `failed` if either the process\nreturns a non-zero code or if it generates output to `standard error` (and\nstandard error capturing is enabled, of course).\n\nYou can instruct yacron how to determine if a job has failed or not via the\n``failsWhen`` option:\n\n.. code-block:: yaml\n\n failsWhen:\n producesStdout: false\n producesStderr: true\n nonzeroReturn: true\n always: false\n\nproducesStdout\n If true, any captured standard output causes yacron to consider the job\n as failed. This is false by default.\n\nproducesStderr\n If true, any captured standard error causes yacron to consider the job\n as failed. This is true by default.\n\nnonzeroReturn\n If true, if the job process returns a code other than zero causes yacron\n to consider the job as failed. This is true by default.\n\nalways\n If true, if the job process exits that causes yacron to consider the job as\n failed. This is false by default.\n\nIt is possible to instruct yacron to retry failing cron jobs by adding a\n``retry`` option inside ``onFailure``:\n\n.. code-block:: yaml\n\n - name: test-01\n command: |\n echo \"hello\" 1>&2\n sleep 1\n exit 10\n schedule:\n minute: \"*/10\"\n captureStderr: true\n onFailure:\n report:\n mail:\n from: example@foo.com\n to: example@bar.com\n smtpHost: 127.0.0.1\n retry:\n maximumRetries: 10\n initialDelay: 1\n maximumDelay: 30\n backoffMultiplier: 2\n\nThe above settings tell yacron to retry the job up to 10 times, with the delay\nbetween retries defined by an exponential backoff process: initially 1 second,\ndoubling for every retry up to a maximum of 30 seconds. A value of -1 for\nmaximumRetries will mean yacron will keep retrying forever, this is mostly\nuseful with a schedule of \"@reboot\" to restart a long running process when it\nhas failed.\n\nIf the cron job is expected to fail sometimes, you may wish to report only in\nthe case the cron job ultimately fails after all retries and we give up on it.\nFor that situation, you can use the ``onPermanentFailure`` option:\n\n.. code-block:: yaml\n\n - name: test-01\n command: |\n echo \"hello\" 1>&2\n sleep 1\n exit 10\n schedule:\n minute: \"*/10\"\n captureStderr: true\n onFailure:\n retry:\n maximumRetries: 10\n initialDelay: 1\n maximumDelay: 30\n backoffMultiplier: 2\n onPermanentFailure:\n report:\n mail:\n from: example@foo.com\n to: example@bar.com\n smtpHost: 127.0.0.1\n\nConcurrency\n+++++++++++\nSometimes it may happen that a cron job takes so long to execute that when the moment its next scheduled execution is reached a previous instance may still be running. How yacron handles this situation is controlled by the option ``concurrencyPolicy``, which takes one of the following values:\n\nAllow\n allows concurrently running jobs (default)\nForbid\n forbids concurrent runs, skipping next run if previous hasn\u2019t finished yet\nReplace\n cancels currently running job and replaces it with a new one\n\nExecution timeout\n+++++++++++++++++\n\n(new in version 0.4)\n\nIf you have a cron job that may possibly hang sometimes, you can instruct yacron\nto terminate the process after N seconds if it's still running by then, via the\n``executionTimeout`` option. For example, the following cron job takes 2\nseconds to complete, yacron will terminate it after 1 second:\n\n.. code-block:: yaml\n\n - name: test-03\n command: |\n echo \"starting...\"\n sleep 2\n echo \"all done.\"\n schedule:\n minute: \"*\"\n captureStderr: true\n executionTimeout: 1 # in seconds\n\nWhen terminating a job, it is always a good idea to give that job process some\ntime to terminate properly. For example, it may have opened a file, and even if\nyou tell it to shutdown, the process may need a few seconds to flush buffers and\navoid losing data.\n\nOn the other hand, there are times when programs are buggy and simply get stuck,\nrefusing to terminate nicely no matter what. For this reason, yacron always\nchecks if a process exited some time after being asked to do so. If it hasn't,\nit tries to forcefully kill the process. The option ``killTimeout`` option\nindicates how many seconds to wait for the process to gracefully terminate\nbefore killing it more forcefully. In Unix systems, we first send a SIGTERM,\nbut if the process doesn't exit after ``killTimeout`` seconds (30 by default)\nthen we send SIGKILL. For example, this cron job ignores SIGTERM, and so yacron\nwill send it a SIGKILL after half a second:\n\n.. code-block:: yaml\n\n - name: test-03\n command: |\n trap \"echo '(ignoring SIGTERM)'\" TERM\n echo \"starting...\"\n sleep 10\n echo \"all done.\"\n schedule:\n minute: \"*\"\n captureStderr: true\n executionTimeout: 1\n killTimeout: 0.5\n\n\n=======\nHistory\n=======\n\n0.9.0 (2019-04-03)\n------------------\n* Added an option to just check if the yaml file is valid without running the scheduler.\n* Fix missing `body` in the schema for sentry config\n\n\n0.8.1 (2018-10-16)\n------------------\n* Fix a bug handling ``@reboot`` in schedule (#22)\n\n0.8.0 (2018-05-14)\n------------------\n* Sentry: add new ``extra`` and ``level`` options.\n\n\n0.7.0 (2018-03-21)\n------------------\n\n* Added the ``utc`` option and document that times are utc by default (#17);\n* If an email body is empty, skip sending it;\n* Added docker and k8s example.\n\n\n0.6.0 (2017-11-24)\n------------------\n* Add custom Sentry fingerprint support\n* Ability to send job metrics to statsd (thanks bofm)\n* ``always`` flag to consider any cron job that exits to be failed\n (thanks evanjardineskinner)\n* `maximumRetries` can now be ``-1`` to never stop retrying (evanjardineskinner)\n* ``schedule`` can be the string ``@reboot`` to always run that cron job on startup\n (evanjardineskinner)\n* ``saveLimit`` can be set to zero (evanjardineskinner)\n\n0.5.0\n------------------\n* Templating support for reports\n* Remove deprecated smtp_host/smtp_port\n\n0.4.3 (2017-09-13)\n------------------\n* Bug fixes\n\n0.4.2 (2017-09-07)\n------------------\n* Bug fixes\n\n0.4.1 (2017-08-03)\n------------------\n\n* More polished handling of configuration errors;\n* Unit tests;\n* Bug fixes.\n\n0.4.0 (2017-07-24)\n------------------\n\n* New option ``executionTimeout``, to terminate jobs that get stuck;\n* If a job doesn't terminate gracefully kill it. New option ``killTimeout``\n controls how much time to wait for graceful termination before killing it;\n* Switch parsing to strictyaml, for more user friendly parsing validation error\n messages.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gjcarneiro/yacron", "keywords": "yacron", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "yacron", "package_url": "https://pypi.org/project/yacron/", "platform": "", "project_url": "https://pypi.org/project/yacron/", "project_urls": { "Homepage": "https://github.com/gjcarneiro/yacron" }, "release_url": "https://pypi.org/project/yacron/0.9.0/", "requires_dist": null, "requires_python": "", "summary": "A modern Cron replacement that is Docker-friendly", "version": "0.9.0" }, "last_serial": 5967180, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "d73231fca2411d09258a9b584cdaf284", "sha256": "8ce0115a6581705f57eb28fdcfe91488b6853bbc75de7cf1383d5192b48f4ada" }, "downloads": -1, "filename": "yacron-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d73231fca2411d09258a9b584cdaf284", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 8609, "upload_time": "2017-07-18T14:19:45", "url": "https://files.pythonhosted.org/packages/1b/11/465f69d90bfccbd74d1c1e73323072f619caa27b4c98bc2313e4b7f33b09/yacron-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9edd73a1faf65a187cb36441090de77", "sha256": "bc199227e5676479774396c8eb8d49099f90d80926ff74455714ed602fc53645" }, "downloads": -1, "filename": "yacron-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c9edd73a1faf65a187cb36441090de77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8988, "upload_time": "2017-07-18T14:19:44", "url": "https://files.pythonhosted.org/packages/35/68/29a8ce8df11409e533cbf6d0d54120f8ee787b07a48b9e0826bed67f76c8/yacron-0.1.2.tar.gz" } ], "0.10.0b1": [ { "comment_text": "", "digests": { "md5": "ce481bd7e266e875a17c3b9707a796ed", "sha256": "34e8e67dda7bdc4cbfabbc2a478c62569e1e2c66b706285fda4aebc298f5b996" }, "downloads": -1, "filename": "yacron-0.10.0b1-py3-none-any.whl", "has_sig": false, "md5_digest": "ce481bd7e266e875a17c3b9707a796ed", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 18685, "upload_time": "2019-10-13T11:46:26", "url": "https://files.pythonhosted.org/packages/55/dc/13b3b2a7866af3a735ef3ca21493ceee1f7d9f364c5451329dbc709625f6/yacron-0.10.0b1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "033de3f19bfc81f4b6561bfb21a5254e", "sha256": "9a5d06733192639392c7741921b06efbaad5d815df009f8bed3d8cec148ed550" }, "downloads": -1, "filename": "yacron-0.10.0b1.tar.gz", "has_sig": false, "md5_digest": "033de3f19bfc81f4b6561bfb21a5254e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59091, "upload_time": "2019-10-13T11:46:28", "url": "https://files.pythonhosted.org/packages/b0/75/1d72711e87cd431372af059a7ea55ebc3336275439abbc02ed6feb598320/yacron-0.10.0b1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a39855541363b0fc98b0a04428044e70", "sha256": "6424e8c2af6f373931cb422e711da3d610170d28709bf5f414e8cabb0b92ec14" }, "downloads": -1, "filename": "yacron-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a39855541363b0fc98b0a04428044e70", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9517, "upload_time": "2017-07-18T17:55:02", "url": "https://files.pythonhosted.org/packages/48/86/ba9782ab6a33e0de9e038c5a8af4c48f59dd3195280c0dfe415002e4cacb/yacron-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddacb250f5f6a62e188cc6dfbcd8c8c2", "sha256": "a7e32b5214843ccba13c7fc63ae0befee46eb7bee24a6b742c862cfed38629af" }, "downloads": -1, "filename": "yacron-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ddacb250f5f6a62e188cc6dfbcd8c8c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9855, "upload_time": "2017-07-18T17:55:00", "url": "https://files.pythonhosted.org/packages/5d/d7/10ebab31563ac4efa1b6f34a2a7d72623ece8157b14238b36dd0529fc7fa/yacron-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "b6745fb5715f3aab78b7b3a095e8c19b", "sha256": "ae292a7b7ad8fa9f5b05af73a2a76e03c66c03131d4fbeede9b6409c19470995" }, "downloads": -1, "filename": "yacron-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b6745fb5715f3aab78b7b3a095e8c19b", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 10552, "upload_time": "2017-07-19T14:40:06", "url": "https://files.pythonhosted.org/packages/de/9d/397f71a63a449bdfbf220edac32b05a6448275eb81c247b2e0ef4b17e1ef/yacron-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b0f957f2c2ee9639de2eefb531e8fa7", "sha256": "2a2d2c8df8beee2d495385f3c7b99a720657557b3856e3781eb91dde542f0aa2" }, "downloads": -1, "filename": "yacron-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5b0f957f2c2ee9639de2eefb531e8fa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10609, "upload_time": "2017-07-19T14:40:04", "url": "https://files.pythonhosted.org/packages/98/c6/b50676b699d282be61c9f83176abf8f688927d6c5582f0a32decc1484bc7/yacron-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "1468f84e129e7cc3b3ee3051fc3fe055", "sha256": "b9470790db54e4048ea14a2ddd6fb114be9161469206edd86264cae8624ef031" }, "downloads": -1, "filename": "yacron-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1468f84e129e7cc3b3ee3051fc3fe055", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 10556, "upload_time": "2017-07-19T15:28:49", "url": "https://files.pythonhosted.org/packages/52/66/4a178a43ceee46f8a4b0cbc1f1597f4c331b71b245b00e537241a72c6299/yacron-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b89c1bfa6a5d51f59aed1a0d2b61dce1", "sha256": "7be78d4ae91982446953ab22f85be7d2d176b0f06d3036560c5cf13501becf38" }, "downloads": -1, "filename": "yacron-0.3.1.tar.gz", "has_sig": false, "md5_digest": "b89c1bfa6a5d51f59aed1a0d2b61dce1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10615, "upload_time": "2017-07-19T15:28:46", "url": "https://files.pythonhosted.org/packages/ce/84/b1973c13c9be4c29e0e78d16afc37359fd06184c6d3e40885ec404644149/yacron-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "14cf97d9976a71ca833bc8525fee4f57", "sha256": "af22632839b05ccd84ae3ae4bdc504b14037421a58f01d95de233cd2aa96fde8" }, "downloads": -1, "filename": "yacron-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "14cf97d9976a71ca833bc8525fee4f57", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 14917, "upload_time": "2017-07-20T13:16:42", "url": "https://files.pythonhosted.org/packages/a5/f6/4138c6272889d7a31725b93093b492a39a55cd75eea5bcecc528fa493ebe/yacron-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81ef865b62491843772979a225421a9f", "sha256": "745b50270a24c8a6f9e0c63595ad432d3b0996dcbe4ea04e24098c14dd9af655" }, "downloads": -1, "filename": "yacron-0.3.2.tar.gz", "has_sig": false, "md5_digest": "81ef865b62491843772979a225421a9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13529, "upload_time": "2017-07-20T13:16:41", "url": "https://files.pythonhosted.org/packages/8b/e5/922590f76d0c11501c6e0ce7182918b640ff7152d9e2c2d48cdcd683caf2/yacron-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "1d48b0ddeaed23ce1bc81d973f2be1df", "sha256": "52f5826a3f031e66fbfcb3bf17ccc1f406b7a7ce78c4b0cba355b27844077083" }, "downloads": -1, "filename": "yacron-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1d48b0ddeaed23ce1bc81d973f2be1df", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15421, "upload_time": "2017-07-20T15:17:41", "url": "https://files.pythonhosted.org/packages/8f/7e/ae312f418a5bd97ab87e955c5c86da63c51d729c7481de7aa2b678bf645c/yacron-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92c727f4a1c219e3acbdc33e1c19f024", "sha256": "98e097c5fefa101e8c1358b594d531758d88ef7fbd024df6685b147c0bc3acb8" }, "downloads": -1, "filename": "yacron-0.3.3.tar.gz", "has_sig": false, "md5_digest": "92c727f4a1c219e3acbdc33e1c19f024", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13904, "upload_time": "2017-07-20T15:17:40", "url": "https://files.pythonhosted.org/packages/97/7b/3082574e9e6c11015b0038d26228c5fb562cfb2b6523d49036823bf9963d/yacron-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "4fba89d98a518527085be3025f5c7d32", "sha256": "85004e124b347f35ed46e3b0a23884d21eedbbf34ad6e30fb98748c3746d30d1" }, "downloads": -1, "filename": "yacron-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4fba89d98a518527085be3025f5c7d32", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18121, "upload_time": "2017-07-24T14:53:04", "url": "https://files.pythonhosted.org/packages/b0/4b/1e23eefec6810d2cc9afdacf4e08fb43c83577b625923ecd0112693333a2/yacron-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fb9b2cf5af522df9c3551b7ebdd7e433", "sha256": "7ac8222d8104311316022bb091bf4d41a6715a1cb7bd3ee2a1cc6cf42a80ceca" }, "downloads": -1, "filename": "yacron-0.4.0.tar.gz", "has_sig": false, "md5_digest": "fb9b2cf5af522df9c3551b7ebdd7e433", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16157, "upload_time": "2017-07-24T14:53:03", "url": "https://files.pythonhosted.org/packages/25/69/50ebe1c4c92ce4f49ed41b156e9c4dd0bd0aef0b691738e6ade5e89c4129/yacron-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "a398fb831dbeeacb6e74dd55a28c728e", "sha256": "07402ad9a53bcba1f21398be3449db0b8ea9b6256a3efcf7f86efa176c94258c" }, "downloads": -1, "filename": "yacron-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a398fb831dbeeacb6e74dd55a28c728e", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 19082, "upload_time": "2017-08-03T15:15:45", "url": "https://files.pythonhosted.org/packages/64/84/7f7cc21c5a4d550ef0741e4cd06363e04131aaa0f8e5da4327052b2ced54/yacron-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9df1431eac37d58d5490b2e2809cd2ab", "sha256": "37ddf26a9fc46b2b63acd845717a09bd1296be014424fa89f283922a43869e7e" }, "downloads": -1, "filename": "yacron-0.4.1.tar.gz", "has_sig": false, "md5_digest": "9df1431eac37d58d5490b2e2809cd2ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21173, "upload_time": "2017-08-03T15:15:43", "url": "https://files.pythonhosted.org/packages/37/28/7dbfc1baa370d9e8dc11da914c2e1f4ef5fc4325be2aa84b82103b3976b0/yacron-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "7afd36a04fd1f36a3686c43d571320b0", "sha256": "c8ef1412fe7179841d657c91e40876ce3a19548a5b681d211d9032694f66975d" }, "downloads": -1, "filename": "yacron-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7afd36a04fd1f36a3686c43d571320b0", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 19094, "upload_time": "2017-09-07T14:34:31", "url": "https://files.pythonhosted.org/packages/30/73/475608918bdde28a376b7b95f0ff6935316bfd0de0951a34c949ea664d98/yacron-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a4e023d20e9259dc069a2b0310699f9", "sha256": "c27325443bbc5e57d725615e6fa9f410a92f513d2dbf9e46731e626a60727f2b" }, "downloads": -1, "filename": "yacron-0.4.2.tar.gz", "has_sig": false, "md5_digest": "3a4e023d20e9259dc069a2b0310699f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21192, "upload_time": "2017-09-07T14:34:28", "url": "https://files.pythonhosted.org/packages/3f/13/ed9e1e26e877def6530c103ae380068ffffe82ab744789a602c9ea07202f/yacron-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "c4c34e09fa905a5addba2cd7e441ca3f", "sha256": "d4cabfb5e72c7cd39e51a455fdce791a6270cb13c4759469e2717408d375d267" }, "downloads": -1, "filename": "yacron-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c4c34e09fa905a5addba2cd7e441ca3f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 19092, "upload_time": "2017-09-13T18:20:09", "url": "https://files.pythonhosted.org/packages/c4/23/89670d7f29262f7330a1fe4ed7732f4dc7fc16333412c04fe584dc14abd5/yacron-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50ec4b1fe0668c76366f048c1d5d39da", "sha256": "69c58acd443a1c575e05fea2ecf83ce8dddec239973eeccc8d1da585b9742657" }, "downloads": -1, "filename": "yacron-0.4.3.tar.gz", "has_sig": false, "md5_digest": "50ec4b1fe0668c76366f048c1d5d39da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21190, "upload_time": "2017-09-13T18:20:06", "url": "https://files.pythonhosted.org/packages/98/b2/f4062253e1526b2d1fa1e903368f27acc3d3f1875ed976882f11184317ca/yacron-0.4.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "a467e2407352294de9966955d4a9cb93", "sha256": "e295cd429b1584d243c35e9921241d94e334f9027a3f34b2763fc5fd5f594582" }, "downloads": -1, "filename": "yacron-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a467e2407352294de9966955d4a9cb93", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 20025, "upload_time": "2017-09-17T18:36:31", "url": "https://files.pythonhosted.org/packages/37/92/76ddd77dcffda3c27d200c058cf9d779b7837527710001c5ffe1ad945a24/yacron-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d550097f26c8618c4e99c9c17517816", "sha256": "199613939e7b314540250f82b3fcb585be1735d5753d11e376a90762c99cc37f" }, "downloads": -1, "filename": "yacron-0.5.0.tar.gz", "has_sig": false, "md5_digest": "5d550097f26c8618c4e99c9c17517816", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24708, "upload_time": "2017-09-17T18:36:29", "url": "https://files.pythonhosted.org/packages/87/9c/e024d4078be2417d097236db278e8c1c1f82bb9953a188f3d3cdad98442f/yacron-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "f5cdd11f710a6f4c9bbb06be9b1fb809", "sha256": "a5d118efba9846b4e7f45cc4fa27fffd15038194a2088826c071b5a93c0fd02a" }, "downloads": -1, "filename": "yacron-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f5cdd11f710a6f4c9bbb06be9b1fb809", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 22625, "upload_time": "2017-11-24T18:53:07", "url": "https://files.pythonhosted.org/packages/d5/1f/8cbc15d2986a6824cbaa655133e8b1ae7e4af5788a08f2a12f5dbf49f5ee/yacron-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "976b1e51c5e0cc651387fc16db8a5201", "sha256": "3345b46d149491747df50d78bd008e1bc7f5940ea1cfd4a096d80d88505ab537" }, "downloads": -1, "filename": "yacron-0.6.0.tar.gz", "has_sig": false, "md5_digest": "976b1e51c5e0cc651387fc16db8a5201", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24717, "upload_time": "2017-11-24T18:53:04", "url": "https://files.pythonhosted.org/packages/83/e3/722ab4ff06c1a3c5f9f026ac1cad7394c2d9ad4cd6ef51e30ef9eda4bba4/yacron-0.6.0.tar.gz" } ], "0.6.0rc1": [ { "comment_text": "", "digests": { "md5": "517eb50279ab18413690f203d3e4d961", "sha256": "0f0321e8ee82bf9d1ffb70a4bc46252d16fdbf53326c5df51b2d87e3ad9f1ecb" }, "downloads": -1, "filename": "yacron-0.6.0rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "517eb50279ab18413690f203d3e4d961", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 20277, "upload_time": "2017-11-03T13:35:55", "url": "https://files.pythonhosted.org/packages/ec/4d/105c4fae7c398da43a7a44d77b0c637b39a5b23ba6a3fb20f30915b23ddd/yacron-0.6.0rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e6609f072683f3745c2c4f0cbb8862b8", "sha256": "f73732cb48113539d387356fffde228414e61e291bfa6799595641294d961b2a" }, "downloads": -1, "filename": "yacron-0.6.0rc1.tar.gz", "has_sig": false, "md5_digest": "e6609f072683f3745c2c4f0cbb8862b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22289, "upload_time": "2017-11-03T13:35:54", "url": "https://files.pythonhosted.org/packages/9f/be/53847495ddc53688e4e26a8adfe34c60c5d5c4df9828002764a84e648b6c/yacron-0.6.0rc1.tar.gz" } ], "0.6.0rc2": [ { "comment_text": "", "digests": { "md5": "059551b99c3ad97a4a7f64ade188f752", "sha256": "6a2680a96ebcfb918869ce5adf1904a9367f27f3bc45491723d836ca0b56677a" }, "downloads": -1, "filename": "yacron-0.6.0rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "059551b99c3ad97a4a7f64ade188f752", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 22633, "upload_time": "2017-11-17T17:05:21", "url": "https://files.pythonhosted.org/packages/7f/34/dd29e0033060bfe907de0fd873ce162be705a2ffadfe88d0a73fa5b5b0c6/yacron-0.6.0rc2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbdc087c9b6f9ebebbab53616898cdf1", "sha256": "dfead7f4a816d2e8f507fbdf591e5506d3db83954d636220f8065c6d536ac4eb" }, "downloads": -1, "filename": "yacron-0.6.0rc2.tar.gz", "has_sig": false, "md5_digest": "bbdc087c9b6f9ebebbab53616898cdf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24636, "upload_time": "2017-11-17T17:05:19", "url": "https://files.pythonhosted.org/packages/4c/60/2f2b2f3daf30da2ff28043b8da3d35ba60f5a9a378424cb64af6ed747b95/yacron-0.6.0rc2.tar.gz" } ], "0.6.0rc3": [ { "comment_text": "", "digests": { "md5": "e6a7c1f9b7850e750de5a7b796bb5469", "sha256": "2facd23e02fffd4c73609c80cb2bca229858ce282e9c97236fe4b0a6bb8d23a6" }, "downloads": -1, "filename": "yacron-0.6.0rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "e6a7c1f9b7850e750de5a7b796bb5469", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 22672, "upload_time": "2017-11-22T12:30:38", "url": "https://files.pythonhosted.org/packages/64/48/6a15500867f8d136c312672a25cf7f2de87c406b0137119b649e693b9585/yacron-0.6.0rc3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f65db4351eee84c82639f356a40bd643", "sha256": "262d546a61f118b71a3b0b858461a96b69786fe61bd458325b1596aeafc95e2f" }, "downloads": -1, "filename": "yacron-0.6.0rc3.tar.gz", "has_sig": false, "md5_digest": "f65db4351eee84c82639f356a40bd643", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24719, "upload_time": "2017-11-22T12:30:34", "url": "https://files.pythonhosted.org/packages/e8/fb/0fb3f7f4aa03cb3b34f0df4dafc0f6aed8c441f9efa0d2f5cb4177135bc6/yacron-0.6.0rc3.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "fa77b62d105b37bfd3b078d161514de6", "sha256": "67d6f1ee5b82fd27f6070a77643b006140d710eb7b893b8232de3d2d269b6fb7" }, "downloads": -1, "filename": "yacron-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fa77b62d105b37bfd3b078d161514de6", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 23115, "upload_time": "2018-03-21T14:21:50", "url": "https://files.pythonhosted.org/packages/a4/88/91d4bf623fc7ca9f964b728a5dd1d2dec722b26ff43ebf315433fd354b51/yacron-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e80ae231db120e37ad9c41673112a2b", "sha256": "f9e748d6f6fbf1d5e4ffb9482b0fa8ef6d205a9f1ed09289637b94b653bb4152" }, "downloads": -1, "filename": "yacron-0.7.0.tar.gz", "has_sig": false, "md5_digest": "6e80ae231db120e37ad9c41673112a2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30537, "upload_time": "2018-03-21T14:21:48", "url": "https://files.pythonhosted.org/packages/b2/d7/1e6000df42441b7d562438285614766d6c5a9af88eaff5c5c93ef82c80fd/yacron-0.7.0.tar.gz" } ], "0.7.0b1": [ { "comment_text": "", "digests": { "md5": "ea06e126583508eff36d26bbd5ad2b4e", "sha256": "f73018cd6a686ec19a2776f2b2b02c46a579834b7f43254a92d93827a1f8bf2c" }, "downloads": -1, "filename": "yacron-0.7.0b1-py3-none-any.whl", "has_sig": false, "md5_digest": "ea06e126583508eff36d26bbd5ad2b4e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 23114, "upload_time": "2018-01-10T18:07:38", "url": "https://files.pythonhosted.org/packages/03/92/ba933bff16399205b081cd161243e09da8e88eccd9282d415d7ede0234b6/yacron-0.7.0b1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8bc2b17f3b834e2888e0c05a60728d8e", "sha256": "231f85a027fffccf9f5464ad6fb5d9b1731a68bc0d132380fac6e6a2c417db22" }, "downloads": -1, "filename": "yacron-0.7.0b1.tar.gz", "has_sig": false, "md5_digest": "8bc2b17f3b834e2888e0c05a60728d8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29274, "upload_time": "2018-01-10T18:07:36", "url": "https://files.pythonhosted.org/packages/50/b6/def90cd30cb81b14efa3deea62ea8f1857db1edbeec183ecfed89ab4e89a/yacron-0.7.0b1.tar.gz" } ], "0.7.0b2": [ { "comment_text": "", "digests": { "md5": "d62c4fcd8b4e48f69d2f583fc90b1441", "sha256": "61640d80f4c34bf9fadee969b18d5584d4125eda47a44af4ada2df50cc64b49c" }, "downloads": -1, "filename": "yacron-0.7.0b2-py3-none-any.whl", "has_sig": false, "md5_digest": "d62c4fcd8b4e48f69d2f583fc90b1441", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 23150, "upload_time": "2018-03-14T14:48:59", "url": "https://files.pythonhosted.org/packages/87/01/9e09439f84c32b05bc9b7f12498943b02841c97d5e8cd07af961e671379f/yacron-0.7.0b2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15eb438d45b39d1f9476c1359b382660", "sha256": "3cfa9f072aa263fb73eac94edb9831ca83dc439de7a1f6a4a4335014d3104316" }, "downloads": -1, "filename": "yacron-0.7.0b2.tar.gz", "has_sig": false, "md5_digest": "15eb438d45b39d1f9476c1359b382660", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30508, "upload_time": "2018-03-14T14:48:58", "url": "https://files.pythonhosted.org/packages/73/b8/a2b7916536bc1c90e040414e4b6bde38a05f9daca440774b2c255ef68a31/yacron-0.7.0b2.tar.gz" } ], "0.7.0b3": [ { "comment_text": "", "digests": { "md5": "44b1b65394fcc6b2a8eb630e2f44a211", "sha256": "a8ffa3f5ed62f8439a0251420c1b9d9aac64f916604f60e7b88ce67dfbc1165f" }, "downloads": -1, "filename": "yacron-0.7.0b3-py3-none-any.whl", "has_sig": false, "md5_digest": "44b1b65394fcc6b2a8eb630e2f44a211", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 23153, "upload_time": "2018-03-14T15:09:11", "url": "https://files.pythonhosted.org/packages/ef/d4/362e8dc7d2d2b257da3e5c28e8ced2ad1d275c0f6a06eb5826d55efb89cc/yacron-0.7.0b3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "164ea2f28041a9a379c89631337cb480", "sha256": "e32b67e98c674ce02c2b282ddd4fa603497b01f944682f5874acff17fc13cefc" }, "downloads": -1, "filename": "yacron-0.7.0b3.tar.gz", "has_sig": false, "md5_digest": "164ea2f28041a9a379c89631337cb480", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30528, "upload_time": "2018-03-14T15:09:09", "url": "https://files.pythonhosted.org/packages/c2/82/65345114eeefdf0256c7f2901fab2d27ede33cb3af7555d8ce10576f54be/yacron-0.7.0b3.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "355c9596302d8394ba226ddb0299d325", "sha256": "85cdec2c012c3f34be338bf6b376df86fcafb83915c04bdfe3c98b26ad4d97a6" }, "downloads": -1, "filename": "yacron-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "355c9596302d8394ba226ddb0299d325", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17237, "upload_time": "2018-05-14T17:41:52", "url": "https://files.pythonhosted.org/packages/4a/b4/acbff49edbb98422e2f1550c36de50d1f559e11a40baef3285461644cc9f/yacron-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ef2c565ea2e573c3295b1c3a26c8e0b", "sha256": "89d98b7e94b68fdfb0a4e140fe77e3227cad5e12049982d16f2cf403a21fec3d" }, "downloads": -1, "filename": "yacron-0.8.0.tar.gz", "has_sig": false, "md5_digest": "3ef2c565ea2e573c3295b1c3a26c8e0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30835, "upload_time": "2018-05-14T17:41:50", "url": "https://files.pythonhosted.org/packages/bc/90/c65af0a197074477c2a69d5ed6fd41fc7adb3c301eb27d2146410374637d/yacron-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "61d1f5d0f03385b7f146fc3e08914497", "sha256": "f9bea8fb1e40ab29be09296317799fc3b5d49e681f93db7220faf383e79b7ed9" }, "downloads": -1, "filename": "yacron-0.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "61d1f5d0f03385b7f146fc3e08914497", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17283, "upload_time": "2018-10-16T12:41:40", "url": "https://files.pythonhosted.org/packages/6d/f9/a29dbce780e19cd0256b40799fa2cd3e279536bbcf77caf54e3b31e8114a/yacron-0.8.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1022830f2fef7610fbb260cc066c763d", "sha256": "cec72d0ab23aa61e3c46abd52397c890985115381d66688af56f4b57f5b71ba8" }, "downloads": -1, "filename": "yacron-0.8.1.tar.gz", "has_sig": false, "md5_digest": "1022830f2fef7610fbb260cc066c763d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30944, "upload_time": "2018-10-16T12:41:38", "url": "https://files.pythonhosted.org/packages/62/d6/9fdda03e1ffd1d7d467d33d983c264b807a1f82867a96d92ccb13ea54dae/yacron-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "8525f9d7a66cd7b178ee2c565af8feb2", "sha256": "f55a741e6a62ea19ebe214434bf13235f0ed08082393a1d408bc5c3abce62648" }, "downloads": -1, "filename": "yacron-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8525f9d7a66cd7b178ee2c565af8feb2", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17406, "upload_time": "2019-04-03T13:34:04", "url": "https://files.pythonhosted.org/packages/ab/6b/a31c56f9b3e3a4d390583596c4aa4c66cab7f83c783d0a40588f2f9d1119/yacron-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f36e1b3005e57c84755d1d8a2c4bb1f", "sha256": "f54e02a1a37a06a8f972258095547c75f6e34404365b9985639a54a59acf133b" }, "downloads": -1, "filename": "yacron-0.9.0.tar.gz", "has_sig": false, "md5_digest": "5f36e1b3005e57c84755d1d8a2c4bb1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31136, "upload_time": "2019-04-03T13:34:01", "url": "https://files.pythonhosted.org/packages/0c/10/a1eed05465b075a43216c62d1ae34186d96b7f0f4f9fc8ad039d9393dcd8/yacron-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8525f9d7a66cd7b178ee2c565af8feb2", "sha256": "f55a741e6a62ea19ebe214434bf13235f0ed08082393a1d408bc5c3abce62648" }, "downloads": -1, "filename": "yacron-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8525f9d7a66cd7b178ee2c565af8feb2", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17406, "upload_time": "2019-04-03T13:34:04", "url": "https://files.pythonhosted.org/packages/ab/6b/a31c56f9b3e3a4d390583596c4aa4c66cab7f83c783d0a40588f2f9d1119/yacron-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f36e1b3005e57c84755d1d8a2c4bb1f", "sha256": "f54e02a1a37a06a8f972258095547c75f6e34404365b9985639a54a59acf133b" }, "downloads": -1, "filename": "yacron-0.9.0.tar.gz", "has_sig": false, "md5_digest": "5f36e1b3005e57c84755d1d8a2c4bb1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31136, "upload_time": "2019-04-03T13:34:01", "url": "https://files.pythonhosted.org/packages/0c/10/a1eed05465b075a43216c62d1ae34186d96b7f0f4f9fc8ad039d9393dcd8/yacron-0.9.0.tar.gz" } ] }