{ "info": { "author": "Sean Stewart", "author_email": "sean_stewart@me.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Text Processing", "Topic :: Text Processing :: Indexing", "Topic :: Text Processing :: Linguistic", "Topic :: Text Processing :: Markup", "Topic :: Text Processing :: Markup :: HTML", "Topic :: Utilities", "Typing :: Typed" ], "description": "iambic: Data extraction and rendering library for Shakespearean text. :scroll: \n==============================================================================\n[![image](https://img.shields.io/pypi/v/iambic.svg)](https://pypi.org/project/iambic/)\n[![image](https://img.shields.io/pypi/l/iambic.svg)](https://pypi.org/project/iambic/)\n[![image](https://img.shields.io/pypi/pyversions/iambic.svg)](https://pypi.org/project/iambic/)\n[![image](https://img.shields.io/github/languages/code-size/seandstewart/iambic.svg?style=flat)](https://github.com/seandstewart/iambic)\n[![image](https://img.shields.io/travis/seandstewart/iambic.svg)](https://travis-ci.org/seandstewart/iambic)\n[![codecov](https://codecov.io/gh/seandstewart/iambic/branch/master/graph/badge.svg)](https://codecov.io/gh/seandstewart/iambic)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\nLet computers do the hard work for you! `iambic` provides:\n1. The most accurate method for counting lines automatically.\n2. Automatically track which characters are speaking in any scene.\n3. Deterministic, repeatable results, with the ability to store your\n data as JSON with strictly defined schema for passing over the wire\n or storing locally or in a NoSQL database between runtimes.\n\n\n## Installation\n\nIn order to install the latest version, simply `pip3 install\n-U iambic`.\n\nThis library requires Python 3.6 or greater.\n\n\n## What is it?\n`iambic` was originally envisioned as a tool for translating\nShakespearean text into actionable information, i.e.:\n1. How many lines are in this particular play?\n2. How many lines does a given character speak in this play?\n3. Which characters speak, in which scenes and acts?\n\nAs a result of the implementation, this tool can be applied \nto any body of text which adhere's to its parsing syntax.\n\n\n## How it works\nIn Shakespeare's work, every line of text has meaning and \ncommunicates volumes beyond the individual words. As such,\n`iambic`'s root object is the individual line, or `node`.\nEach `node` is assigned a specific `type` based upon simple\nsyntactical rules. These rules can be broken out into the\nfollowing logical groups:\n\n### 1. Locales\nA `Locale` will be denoted by header formatting (H1-5) and \nrepresents a logical break in the forward action of the\nplay. These can be thought of as the entries that may show\nup in a Table of Contents, and can include:\n- `Act`\n- `Scene`\n- `Prologue` or `Epilogue`\n\nAn `Act` may have many nested `Scene`, `Prologue`, and\n`Epilogue` sections.\n\nA `Scene` will be always be nested under an act `Act`. A\n`Scene` contains speeches, dialogue, and actions.\n\nA `Prologue` or `Epilogue` may or may not be nested under an\n`Act` and may or may not have the structure of a `Scene` or an `Act`.\n\n\n### 2. Actions and Directions\nActions and Directions will be denoted by an _italicized_ \nparagraph of any length and represent a physical action that\ntakes place on stage. These can include:\n- Character Action (`Action`)\n- Stage Direction (`Direction`)\n- Entrance/Exit (`Entrance` or `Exit`)\n\nAn `Action` object represents an action of a specific\ncharacter and are usually found within or just after a\nspeech. If these are more than one word (such as *Aside*),\nthey will either reference the character by pronoun, or\nbegin with *To ...*. In order for `iambic` to understand\nthat the given paragraph is an `Action`, the paragraph\nshould be wrapped in brackets (`[]`) in addition to\nitalicized. ex: *\\[He brandishes his sword]*, *\\[To\nJULIET]*).\n\nA `Direction` is more straightforward - it is simply a stage\ndirection, meaning a paragraph of text which illucidates\nsome on-stage action between any number of characters. A\n`Direction` will always be written in third-person\nomniscient and reference characters by name and be denoted\nsimply by italics. ex: *Flourish*, *They fight*, *HAMLET\nstabs CLAUDIUS*. \n\nAn `Entrance` or `Exit` will usually lead or finish with\n`Enter`, `Exit`, or `Exeunt` and be italicized.\n\n\n### 3. Personae\nThe `Persona` object is in its own category and is initially\ndenoted by a bolded line preceding a block of dialogue. ex:\n\n **HAMLET** \n Not so, my lord, I am too much i'th'sun.\n\nOnce a persona is created, that object is tracked throughout\nthe rest of the play.\n\n### 4. Lines\nFinally, the meat of the text. Having filtered out all other\nsyntactical notations, whatever is remaining is considered a\nline of `Dialogue`. `Dialogue` objects represent a single\nline of spoken word and are grouped within larger `Speech`\nobjects, which are associated to the character speaking and\nnested directly under the `Scene`, `Prologue`, or `Epilogue`\nobject in which it occurs.\n\n## The Schema\nThe full schema specification has been written in JSON\nSchema 7.0 and can be found\n[here](iambic/schema/schema.json)\n\n## Documentation\n\nFull documentation coming soon!\n\n\n## How to Contribute\n1. Check for open issues or open a fresh issue to start a \n discussion around a feature idea or a bug.\n2. Create a branch on Github for your issue or fork\n [the repository](https://github.com/seandstewart/iambic)\n on GitHub to start making your changes to the **master**\n branch.\n3. Write a test which shows that the bug was fixed or that \n the feature works as expected.\n4. Send a pull request and bug the maintainer until it gets\n merged and published. :)\n\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/seandstewart/iambic", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "iambic", "package_url": "https://pypi.org/project/iambic/", "platform": "", "project_url": "https://pypi.org/project/iambic/", "project_urls": { "Homepage": "https://github.com/seandstewart/iambic" }, "release_url": "https://pypi.org/project/iambic/0.5.0/", "requires_dist": [ "Click", "dataslots", "fastjsonschema", "html2text", "inflection", "ujson", "yattag", "tablib", "typical (>=1.10.1)" ], "requires_python": ">=3.6", "summary": "iambic: Data extraction and rendering library for Shakespearean text.", "version": "0.5.0" }, "last_serial": 5645475, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "dd017bdd00bee913b7e18f4e1b1798e6", "sha256": "e59c30574a8033868fd3006f11e1410edcbb3904a10d68f6b098a383f432050d" }, "downloads": -1, "filename": "iambic-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dd017bdd00bee913b7e18f4e1b1798e6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 12479, "upload_time": "2019-07-16T11:34:38", "url": "https://files.pythonhosted.org/packages/02/4a/c77b84e520cc3a717e620a63536f265afdbd08e425b19db492d5fa190e7b/iambic-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b3ecd6695fdfea2ae9e96e9bf9fa5e4", "sha256": "3ee809ba5e997876f2524307b4d4c8b68e7c76621e789fd2aaba32d20290af1d" }, "downloads": -1, "filename": "iambic-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0b3ecd6695fdfea2ae9e96e9bf9fa5e4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 15455, "upload_time": "2019-07-16T11:34:39", "url": "https://files.pythonhosted.org/packages/7e/48/611fa044463f79621272e8ca520bb6582e17149ee2235c42098f8e176131/iambic-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8611c777c9bb55536599a60521d0c245", "sha256": "7af37e5f0bdc18ab263cc79b548d250039440bd1a5246f827762bafa96d55698" }, "downloads": -1, "filename": "iambic-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8611c777c9bb55536599a60521d0c245", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 12482, "upload_time": "2019-07-16T11:39:17", "url": "https://files.pythonhosted.org/packages/20/11/4f47005c1dc1a25b6d36ac2eeac76f335ce435079a20463c5eb9c0ef75c4/iambic-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "473618e20c3d98502d761e6923c50d33", "sha256": "343c41b694530b0d2477311ff499e27fd7f020bd2e9696b9804ee6f3db900d68" }, "downloads": -1, "filename": "iambic-0.1.1.tar.gz", "has_sig": false, "md5_digest": "473618e20c3d98502d761e6923c50d33", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 15459, "upload_time": "2019-07-16T11:39:18", "url": "https://files.pythonhosted.org/packages/c2/a0/565c8bf6b3cd3d47d2b5ea008061e20868219010042fa0841d34fc3ace6b/iambic-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e5b049fa146ffac38ec7beb26d2429a5", "sha256": "41cdb95e6b88e372fe1c2764ac05879b2d454e2604a899f1f2a370f27d3d4dcb" }, "downloads": -1, "filename": "iambic-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5b049fa146ffac38ec7beb26d2429a5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 2070284, "upload_time": "2019-07-16T12:27:46", "url": "https://files.pythonhosted.org/packages/e0/ce/f3640043af1cd61f16425ee84156cca0eb7f3f73c1bd476eaa1810c86b1e/iambic-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8da1a905f5d0bf904b18d971a57560e", "sha256": "c57767d81d42cc903ab3f79a1c14ac7dbeb993b4b5b0dc4c54eace50fb410d66" }, "downloads": -1, "filename": "iambic-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e8da1a905f5d0bf904b18d971a57560e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2026161, "upload_time": "2019-07-16T12:27:49", "url": "https://files.pythonhosted.org/packages/dd/45/72522c26953a1d49fdb2b8d027d1a887483d7a87e573e0de612d30550cd4/iambic-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8f919dacd25129d13bd70d77b5509fdd", "sha256": "c439986e78ef96184595b06df2c2379bddc8fa9de31c0111bcbc67c6c31133f4" }, "downloads": -1, "filename": "iambic-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8f919dacd25129d13bd70d77b5509fdd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 2071401, "upload_time": "2019-07-17T13:50:11", "url": "https://files.pythonhosted.org/packages/86/31/51f1e51248740c9e79559408fdf715499973c830b464cca0d281a951cfa8/iambic-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86cb9f505480cbe824506ca260c60f0e", "sha256": "07326022ac1ecc6ff5c0b1725958de2e7921061d672f9dce2a14b9fba489623b" }, "downloads": -1, "filename": "iambic-0.2.0.tar.gz", "has_sig": false, "md5_digest": "86cb9f505480cbe824506ca260c60f0e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2025872, "upload_time": "2019-07-17T13:50:13", "url": "https://files.pythonhosted.org/packages/3d/2b/b31bdf72e7062744e0f9630cbf0405a6fc34359f5262ae0dceaec8148d19/iambic-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1696fae3892208341e9dd71daa42b3df", "sha256": "85416c1e08c6a250bbb1552b346ef8e46b9ed71451e137988d276f4f49a24f11" }, "downloads": -1, "filename": "iambic-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1696fae3892208341e9dd71daa42b3df", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 2071516, "upload_time": "2019-07-18T00:47:23", "url": "https://files.pythonhosted.org/packages/ac/4c/7b2053444f2d61ec936fea331cd3e9689235b6ba558c77b437a80adcd6b0/iambic-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5dc2d6667fc515fd7c7848606d19b655", "sha256": "804049e81e9396bab50b177ee588098a2fc3619c21d03edae427408ab14fc764" }, "downloads": -1, "filename": "iambic-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5dc2d6667fc515fd7c7848606d19b655", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2025994, "upload_time": "2019-07-18T00:47:26", "url": "https://files.pythonhosted.org/packages/b1/0d/68301379a9f2851e9a881c3e0f931ce6211ce3b930baf964cd950e4f10b9/iambic-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "c2ce258a3561d10790625145e463fadb", "sha256": "29726586d3ec48bef5e26a39816c7c70e04c94a5332dfda78ec631618346cf78" }, "downloads": -1, "filename": "iambic-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c2ce258a3561d10790625145e463fadb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 2071652, "upload_time": "2019-07-19T12:42:15", "url": "https://files.pythonhosted.org/packages/fa/cb/69d5e233262defd3c3bb4ae6c0dfebea7758d729a63af851f79e62d3beaf/iambic-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "47a0ffc1adac86a21b1bdf6feb7d494f", "sha256": "f508940082ab58d8004921bf584b2dc378bfa446621e56c091b3ee666908bd5b" }, "downloads": -1, "filename": "iambic-0.4.0.tar.gz", "has_sig": false, "md5_digest": "47a0ffc1adac86a21b1bdf6feb7d494f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2026109, "upload_time": "2019-07-19T12:42:18", "url": "https://files.pythonhosted.org/packages/59/42/3119505f7be53356e91a9a9b630709a50ef4cae0d30bfb5b25c7c4ce52da/iambic-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "137e162ef92ce8b19e50e191cc243ed3", "sha256": "0f13578d83c15870198a982a7b6ac60f1b3006ab48234c5f549e8a3f77262a46" }, "downloads": -1, "filename": "iambic-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "137e162ef92ce8b19e50e191cc243ed3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 2071654, "upload_time": "2019-07-19T22:41:23", "url": "https://files.pythonhosted.org/packages/01/f8/84020d2989da95d5e86a8827b7ccb33650601257ceebefb4c023e653e2ca/iambic-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a6ab52de3e04363c0c0785a77e7d6ad", "sha256": "ac50512a3352b1c5208a4397fad754bb6dd3bd5d4ca3b5ccc68cd9556b88f00e" }, "downloads": -1, "filename": "iambic-0.4.1.tar.gz", "has_sig": false, "md5_digest": "5a6ab52de3e04363c0c0785a77e7d6ad", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2026109, "upload_time": "2019-07-19T22:41:30", "url": "https://files.pythonhosted.org/packages/3e/8d/1eafb1c611b92ecf4c3f4ec75b3d0a778cc5874bf44a879dd02b26606eaa/iambic-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "08b001b87d0485bbf6c8dbdd5e0b5a83", "sha256": "4d39691a77a0f18af8a108c08e54d4c91c979c71ce85d438e47f4054828b94e1" }, "downloads": -1, "filename": "iambic-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "08b001b87d0485bbf6c8dbdd5e0b5a83", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 2072262, "upload_time": "2019-08-07T14:56:06", "url": "https://files.pythonhosted.org/packages/da/db/3eb99f4778e2a8b1f3aa00af371a49bb11414689c3e8ebac4d8778fc1cc0/iambic-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d2d01adfc514919e024db58820345aa", "sha256": "d46aa7dfa1557fbd82c4e248e93272ff60b56fa854467f54fc2e2c4fe885e72a" }, "downloads": -1, "filename": "iambic-0.5.0.tar.gz", "has_sig": false, "md5_digest": "8d2d01adfc514919e024db58820345aa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2026593, "upload_time": "2019-08-07T14:56:08", "url": "https://files.pythonhosted.org/packages/45/33/f9ae5a8faa819cc55acd4fe1dc6ccf391aa9b330ac085eddab808b198e41/iambic-0.5.0.tar.gz" } ], "1.0.0rc0": [ { "comment_text": "", "digests": { "md5": "f5d1727f062914b0a581b1f8af5438eb", "sha256": "0ef20d2aa6312f5defefa5a43ccd812df1b8120b7b8ffd59a98899da5e569b65" }, "downloads": -1, "filename": "iambic-1.0.0rc0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5d1727f062914b0a581b1f8af5438eb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 10732, "upload_time": "2019-06-09T23:08:58", "url": "https://files.pythonhosted.org/packages/3e/86/11a790a6b72801d73fbbb0440824966abf9d189c6257ec202868217e0592/iambic-1.0.0rc0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c5b9bc1742a79c4526505be19552a08", "sha256": "70955169339e5194943128123bd883f78ce00ab8d3b722b799253b92ad92e018" }, "downloads": -1, "filename": "iambic-1.0.0rc0.tar.gz", "has_sig": false, "md5_digest": "5c5b9bc1742a79c4526505be19552a08", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11756, "upload_time": "2019-06-09T23:09:00", "url": "https://files.pythonhosted.org/packages/57/50/717ccc6f946d178a44830f4646ef4999dd35e98f6f76daa9b28cd9474c16/iambic-1.0.0rc0.tar.gz" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "6017447cd16a6a37bd0a51cf8b3cd979", "sha256": "66dde4f32b082bbfebba1a65dfd0f37379907ccac5a1456613eb2ef3a4b47075" }, "downloads": -1, "filename": "iambic-1.0.0rc1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6017447cd16a6a37bd0a51cf8b3cd979", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 10724, "upload_time": "2019-06-09T23:10:49", "url": "https://files.pythonhosted.org/packages/8f/52/f3401792e3ff0f50aa4ea38f8433b8e8a9a9eb1d683cef7607d4463b41d6/iambic-1.0.0rc1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4641c1ccb555212631fb6c2a0caa4abc", "sha256": "cb68cd949e32a5d74c1610cff27b845b9f83670bb458b7d4e31b6197b68abc50" }, "downloads": -1, "filename": "iambic-1.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "4641c1ccb555212631fb6c2a0caa4abc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11756, "upload_time": "2019-06-09T23:10:51", "url": "https://files.pythonhosted.org/packages/69/db/0f2347fc5659584b39a6b5890387c2e7488480cb6c7ff02f48270480e436/iambic-1.0.0rc1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "08b001b87d0485bbf6c8dbdd5e0b5a83", "sha256": "4d39691a77a0f18af8a108c08e54d4c91c979c71ce85d438e47f4054828b94e1" }, "downloads": -1, "filename": "iambic-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "08b001b87d0485bbf6c8dbdd5e0b5a83", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 2072262, "upload_time": "2019-08-07T14:56:06", "url": "https://files.pythonhosted.org/packages/da/db/3eb99f4778e2a8b1f3aa00af371a49bb11414689c3e8ebac4d8778fc1cc0/iambic-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d2d01adfc514919e024db58820345aa", "sha256": "d46aa7dfa1557fbd82c4e248e93272ff60b56fa854467f54fc2e2c4fe885e72a" }, "downloads": -1, "filename": "iambic-0.5.0.tar.gz", "has_sig": false, "md5_digest": "8d2d01adfc514919e024db58820345aa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2026593, "upload_time": "2019-08-07T14:56:08", "url": "https://files.pythonhosted.org/packages/45/33/f9ae5a8faa819cc55acd4fe1dc6ccf391aa9b330ac085eddab808b198e41/iambic-0.5.0.tar.gz" } ] }