{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: Public Domain", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Documentation", "Topic :: Software Development :: Documentation" ], "description": "[![](https://img.shields.io/pypi/pyversions/readme-md.svg?longCache=True)](https://pypi.org/project/readme-md/)\n\n#### Install\n```bash\n$ [sudo] pip install readme-md\n```\n\n#### Features\n+ **`.md` sections**\n+ **attrs/properties/methods sections** - subclass `readme_md.Readme`\n+ **auto headers** - if section 1st line is not empty and not `#` header\n+ sections **order** - `Readme.order` or `order.txt`\n+ python project ([`setup.cfg`](https://setuptools.readthedocs.io/en/latest/setuptools.html#configuring-setup-using-setup-cfg-files) required) sections - `install`, `classes`, `functions`, `cli`\n\n#### Classes\n`readme_md.Readme` - README.md generator\n\n`Readme` attrs|`__doc__`\n-|-\n`header_lvl`|header default lvl (4)\n`headers`|dict with sections headers (optional)\n`order`|list of sections order\n`sections`|dict with sections (loaded from .md files)\n\n`Readme` methods|`__doc__`\n-|-\n`get_header(name)`|return a string with section header\n`get_section(name)`|return a string with README section\n`get_sections()`|return all sections in a list of (name, string) pairs sorted by `order`\n`load(path)`|load sections and order\n`render()`|render to a string\n`save(path='README.md')`|save to file\n\n#### Functions\nfunction|`__doc__`\n-|-\n`readme_md.broken_links(string, timeout=5)`|return a list with broken markdown links\n`readme_md.links(string)`|return a list with markdown links\n`readme_md.tables.attrs(cls)`|return a string with class attributes table\n`readme_md.tables.cls(cls)`|return a string with class name, description and attrs+methods+properties tables\n`readme_md.tables.methods(cls)`|return a string with class methods table\n`readme_md.tables.properties(cls)`|return a string with class properties table\n`readme_md.tables.usage(modules)`|return a string with cli modules usage table. `python -m module` or module `USAGE` variable (if defined). `if __name__ == \"__main__\"` line required\n\n#### CLI\nusage|`__doc__`\n-|-\n`python -m readme_md.broken_links path [timeout]`|print README.md broken links\n`python -m readme_md.create [path ...]`|generate README.md\n`python -m readme_md.links path`|print README.md links\n\n#### Examples\n```bash\n# .README/examples.md, .README/features.md, .README/order.txt\n$ python -m readme_md.create .README > README.md\n$ python -m readme_md.broken_links README.md # find broken links\n```\n\n```python\nclass Readme_npm(readme_md.Readme):\n order = [\"description\",\"features\",\"install\", ...]\n disabled = [\"generator\"]\n\n @property\n def install(self):\n return \"`$ [sudo] npm i -g %s`\" % json.loads(path)[\"name\"]\n```\n\n```python\nReadme(\".README\").save(\"README.md\") # load sections and create README.md\n```\n\n

readme-md - README.md generator

\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/looking-for-a-job/readme-md.py", "keywords": "readme markdown", "license": "", "maintainer": "", "maintainer_email": "", "name": "readme-md", "package_url": "https://pypi.org/project/readme-md/", "platform": "", "project_url": "https://pypi.org/project/readme-md/", "project_urls": { "Homepage": "https://github.com/looking-for-a-job/readme-md.py" }, "release_url": "https://pypi.org/project/readme-md/2019.1.28/", "requires_dist": [ "Click", "Markdown", "mdown", "public", "requests", "setupcfg", "setuptools" ], "requires_python": "", "summary": "README.md generator", "version": "2019.1.28" }, "last_serial": 5587797, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "35b51b9b21bd7c8ae8e18fa6defbeaf2", "sha256": "97614b6a4929377df94e3c14502dc4f3e1e93c86942c0e80678663826ff58f9c" }, "downloads": -1, "filename": "readme-md-0.0.0.tar.gz", "has_sig": false, "md5_digest": "35b51b9b21bd7c8ae8e18fa6defbeaf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1477, "upload_time": "2018-05-11T13:15:52", "url": "https://files.pythonhosted.org/packages/d9/e9/9d38b060cc7df6195203560312862bedce076b66f034699854473cb40cc4/readme-md-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "5d2a03c2d0c17e3cbf2679b31e8c474f", "sha256": "f56fcbc5cd0572b38aa446555244daceeef2fccb3bd9fe2a191f9dc5df5059fc" }, "downloads": -1, "filename": "readme-md-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5d2a03c2d0c17e3cbf2679b31e8c474f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2406, "upload_time": "2018-06-19T19:49:45", "url": "https://files.pythonhosted.org/packages/59/49/32489de47ab125e865130599e057ee4afd1953ebc9b6cf3303962b29e3d2/readme-md-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "fdfd1ed05e545d0d54c7cb1d0e9384f8", "sha256": "2621c5b42d88649ef7f15ddd4d5cb4cb6a1046c4e31e0d132dedb5d104fce498" }, "downloads": -1, "filename": "readme_md-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fdfd1ed05e545d0d54c7cb1d0e9384f8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8893, "upload_time": "2018-09-16T10:49:06", "url": "https://files.pythonhosted.org/packages/51/ed/c3909e70068eda6b567b3150237a03b7bc931198cc178701585a3afce05c/readme_md-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "390f818922022c32cded3532c5a15321", "sha256": "b730a4aaa603a97f480b94bb5dd95956a481f7e25d50b819ea5b62ee58b71c6b" }, "downloads": -1, "filename": "readme-md-0.0.2.tar.gz", "has_sig": false, "md5_digest": "390f818922022c32cded3532c5a15321", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2386, "upload_time": "2018-09-16T10:49:07", "url": "https://files.pythonhosted.org/packages/a3/59/9cfb5cef140b395cb10d20064f9666fab54a343a5e83daab89c0972758f1/readme-md-0.0.2.tar.gz" } ], "2018.11.15": [ { "comment_text": "", "digests": { "md5": "d6157c9b4a3f902a8360abb7cd158058", "sha256": "53f0b1f1b6486c00b1c44fb8d8a20197999d44d08bec2f2b78179f8e8165e000" }, "downloads": -1, "filename": "readme_md-2018.11.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d6157c9b4a3f902a8360abb7cd158058", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5295, "upload_time": "2018-11-14T22:41:34", "url": "https://files.pythonhosted.org/packages/90/cd/7d3522938ce338e714c6a428920679c295c2f8206be83d17733c59c47e99/readme_md-2018.11.15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39652cd826772eaece445de1cdad2682", "sha256": "0f9ba713332438c94e0d5c7aadb13a48320b1a67c9d8d48eaaf073cb00d214d6" }, "downloads": -1, "filename": "readme-md-2018.11.15.tar.gz", "has_sig": false, "md5_digest": "39652cd826772eaece445de1cdad2682", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4386, "upload_time": "2018-11-14T22:41:36", "url": "https://files.pythonhosted.org/packages/ee/89/e190be464b52b809739e8afc505f205d12b442eb0bc5fc51f9ad3f7eca2c/readme-md-2018.11.15.tar.gz" } ], "2018.11.23": [ { "comment_text": "", "digests": { "md5": "41f8de52c089c112085dd33162b47b40", "sha256": "cc7e94f13bd204205037fcfb33640584240cc424500c129783c860da1271ee81" }, "downloads": -1, "filename": "readme_md-2018.11.23-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41f8de52c089c112085dd33162b47b40", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8143, "upload_time": "2018-11-23T01:15:53", "url": "https://files.pythonhosted.org/packages/91/90/e9d8b9cb602c4d67260f0f59d44ba0a69323fba53e7f0dfb92a4d840cf67/readme_md-2018.11.23-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5377a1462f5ff606c205dcbbd9e1b51a", "sha256": "764cb5de8adc5ed1475f6030bcb893a9b9756f958d7c9655ade5c33f9dea16bb" }, "downloads": -1, "filename": "readme-md-2018.11.23.tar.gz", "has_sig": false, "md5_digest": "5377a1462f5ff606c205dcbbd9e1b51a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4420, "upload_time": "2018-11-23T01:15:55", "url": "https://files.pythonhosted.org/packages/c3/86/a34338a208eebe09bc5b3e233aee222e54f3232d679e01884024e71fd65e/readme-md-2018.11.23.tar.gz" } ], "2018.11.28": [ { "comment_text": "", "digests": { "md5": "87e8ed9959505b2b0d83a1096e4ded4b", "sha256": "3a62868441a00c88e3fe2713680d75b3336a5b4717e1ee62f4ec9d8d554eb38e" }, "downloads": -1, "filename": "readme_md-2018.11.28-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87e8ed9959505b2b0d83a1096e4ded4b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6664, "upload_time": "2018-11-29T00:09:49", "url": "https://files.pythonhosted.org/packages/8d/e4/35917b8b068be726ea93aa06ff7b5430f9b2ca47f90ea403583945224baa/readme_md-2018.11.28-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88fcdcb2dab9afb83567546e682ce507", "sha256": "5b4920283e58a1df8fac9c3b9c5c4c51d58069f2e2a9fa35bf2b7658ae1f52a3" }, "downloads": -1, "filename": "readme-md-2018.11.28.tar.gz", "has_sig": false, "md5_digest": "88fcdcb2dab9afb83567546e682ce507", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4576, "upload_time": "2018-11-29T00:09:51", "url": "https://files.pythonhosted.org/packages/bc/13/730fc018bd605054335799f4de89ecc8aebafb384adb2b6ae176e3a7f487/readme-md-2018.11.28.tar.gz" } ], "2018.11.30": [ { "comment_text": "", "digests": { "md5": "c3c6c511554d21a721a5f6ef9647c87e", "sha256": "5c0fbff6a18d7adbcac8b075369ce11bf63a99c2a65006faa29ca27cc352194d" }, "downloads": -1, "filename": "readme_md-2018.11.30-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c3c6c511554d21a721a5f6ef9647c87e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7474, "upload_time": "2018-11-29T20:25:23", "url": "https://files.pythonhosted.org/packages/48/67/ee38cf7c6b802d6939f3febf60f8b241b540defca9bbdbb49f5180b226e4/readme_md-2018.11.30-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b237c808d735a117777c6982c5be3ea9", "sha256": "9e25e6ff2874e77676cba061e88f87da00e062051e994500e3bffcaae48e103f" }, "downloads": -1, "filename": "readme-md-2018.11.30.tar.gz", "has_sig": false, "md5_digest": "b237c808d735a117777c6982c5be3ea9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5052, "upload_time": "2018-11-29T20:25:25", "url": "https://files.pythonhosted.org/packages/ce/5f/d5f1aaf2312d3b11262687b59db6da6f213238ca91dcfeccd0da8179bec8/readme-md-2018.11.30.tar.gz" } ], "2018.12.1": [ { "comment_text": "", "digests": { "md5": "f96879a2e5034ad04a00f8c77870793a", "sha256": "a1961899dcf4eef97e332b413f58dfed953b89d2bf9f2c3d6cec1d2c6cda05d3" }, "downloads": -1, "filename": "readme_md-2018.12.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f96879a2e5034ad04a00f8c77870793a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7467, "upload_time": "2018-12-01T05:15:50", "url": "https://files.pythonhosted.org/packages/34/4f/229bef5b8d8c468ac6e6dfda24e4a9c6ab2a421e735b48e05dfec9fab841/readme_md-2018.12.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2e46a2170aa587050fe68ff4da6101c", "sha256": "58d4205ee8ef81ea3ba376cc863ddfdc2b8376a92dea16445ca165d8c1ace579" }, "downloads": -1, "filename": "readme-md-2018.12.1.tar.gz", "has_sig": false, "md5_digest": "c2e46a2170aa587050fe68ff4da6101c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5056, "upload_time": "2018-12-01T05:15:53", "url": "https://files.pythonhosted.org/packages/98/ac/96da4ddfe58814131ef9329407140ae62b6fbdde65297cf296a8ead159d3/readme-md-2018.12.1.tar.gz" } ], "2019.1.25": [ { "comment_text": "", "digests": { "md5": "8a6d8a2e1e952bceebbb396888278be2", "sha256": "2c450c351e995a0a4068decc1a03fc80fca8f8608db582a797002a2a015aa388" }, "downloads": -1, "filename": "readme_md-2019.1.25-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a6d8a2e1e952bceebbb396888278be2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7724, "upload_time": "2019-01-25T01:35:46", "url": "https://files.pythonhosted.org/packages/fe/b1/69b1fef715d0413558cbb27a1b53b4ee5f9131d008067734ebcdbf6ef157/readme_md-2019.1.25-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06922c54de0c59bec57dcafd2db5e77c", "sha256": "9575fba4c26401eb7e7fdd37d6fc2c7db684633767af62c1978e7a6c82831187" }, "downloads": -1, "filename": "readme-md-2019.1.25.tar.gz", "has_sig": false, "md5_digest": "06922c54de0c59bec57dcafd2db5e77c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5427, "upload_time": "2019-01-25T01:35:47", "url": "https://files.pythonhosted.org/packages/80/70/861a7ab3f859707531eb8005e9e0df901fe44d04300db2135571eeaf3149/readme-md-2019.1.25.tar.gz" } ], "2019.1.28": [ { "comment_text": "", "digests": { "md5": "90fd31cab1b43660e321c6af4f975c29", "sha256": "687b2799d9e1297f018b71a2fb4aaa22b2e23de4bf30b2b7ee4f457fcef8247f" }, "downloads": -1, "filename": "readme_md-2019.1.28-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "90fd31cab1b43660e321c6af4f975c29", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7718, "upload_time": "2019-01-28T17:51:32", "url": "https://files.pythonhosted.org/packages/26/24/1d3ff61664359cc6f72b8dcaed5ac2c4458e211e42c2226573646d29cc58/readme_md-2019.1.28-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "928a2762eeeb8404eb6e69479bde91f5", "sha256": "01492f210443fa37a0b34e051ae24ca23e4a92f0f39ef03b5c02cf09d76df455" }, "downloads": -1, "filename": "readme-md-2019.1.28.tar.gz", "has_sig": false, "md5_digest": "928a2762eeeb8404eb6e69479bde91f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5423, "upload_time": "2019-01-28T17:51:37", "url": "https://files.pythonhosted.org/packages/85/ab/4e409d4a2afb85829b72380a6e2b59b3f9813c7f89cb273e88e9df3329ce/readme-md-2019.1.28.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "90fd31cab1b43660e321c6af4f975c29", "sha256": "687b2799d9e1297f018b71a2fb4aaa22b2e23de4bf30b2b7ee4f457fcef8247f" }, "downloads": -1, "filename": "readme_md-2019.1.28-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "90fd31cab1b43660e321c6af4f975c29", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7718, "upload_time": "2019-01-28T17:51:32", "url": "https://files.pythonhosted.org/packages/26/24/1d3ff61664359cc6f72b8dcaed5ac2c4458e211e42c2226573646d29cc58/readme_md-2019.1.28-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "928a2762eeeb8404eb6e69479bde91f5", "sha256": "01492f210443fa37a0b34e051ae24ca23e4a92f0f39ef03b5c02cf09d76df455" }, "downloads": -1, "filename": "readme-md-2019.1.28.tar.gz", "has_sig": false, "md5_digest": "928a2762eeeb8404eb6e69479bde91f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5423, "upload_time": "2019-01-28T17:51:37", "url": "https://files.pythonhosted.org/packages/85/ab/4e409d4a2afb85829b72380a6e2b59b3f9813c7f89cb273e88e9df3329ce/readme-md-2019.1.28.tar.gz" } ] }