{ "info": { "author": "Thomas Levine", "author_email": "_@thomaslevine.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3.4" ], "description": "friendly_brief parses brief titles from a CSV file and emits a new CSV file\nwith some inferences about the brief. A brief title might look like this.\n\n 1. Amicus Brief, BRIEF OF L. S. LEE, INC. AMICUS CURIAE ON BEHALF OF PETITIONER, December 6, 2000, 2000 U.S. S. Ct. Briefs LEXIS 836 \n\nFor such a title, friendly_brief tries to guess the\n\n* Brief number\n* Amici curiae\n* Posture of the amici\n\nHow to use\n--------------\nInstall it from pip. ::\n\n pip3 install friendly_brief\n\nAnd run it on a CSV file. The file must contain a column with all of the\nbrief titles that you care about, and the titles must be in a column called\n\"brief\". The CSV file can have anything else you want in it too. ::\n\n friendly-brief briefs.csv\n\nIt can also receive a CSV file over STDIN. ::\n\n cat briefs.csv | friendly-brief\n\nThe resulting CSV file is written to STDOUT.\n\nHow it works\n---------------\nLet's discuss how each of the inferences is made.\n\nBrief number\n~~~~~~~~~~~~~\nWe take the first unbroken group of digits as the brief number.\nFor example, the following brief title starts with a \"1\", then a \"9\",\nand then a \".\".\n\n 19. Brief, BRIEF AMICUS CURIAE OF SOCIAL SCIENCE AND COMPARATIVE LAW SCHOLARS IN SUPPORT OF NEITHER PARTY, June 1, 2001, 2001 U.S. S. Ct. Briefs LEXIS 718 \n\nWe stop upon noticing the non-digit \".\" and use \"19\" as the brief number.\n\nPosture\n~~~~~~~~~~~~\nPosture is guessed based on the presence of certain phrases.\nThere are five types of posture, and here are their corresponding phrases\n\nPosture 0\n \"Neither party\"\nPosture 1\n \"Petitioner\", \"Appellant\", and \"Reversal\"\nPosture 2\n \"Respondent\", \"Appellee\", \"Affirmance\"\nPosture 3\n \"Plaintiff\"\nPosture 4\n \"Defendant\"\n\nThe program looks for the presence of all of these phrases.\nIf the result is unambiguous, the resulting spreadsheet contains\nthe number corresponding to the posture.\n\nAmbiguity can occur if no posture phrases are present or if\nphrases corresponding to different postures are present.\nFor example, I would consider a brief title containing both\n\"plaintiff\" and \"defendant\" to be ambiguous. In cases of\nambiguouity, the posture cell is left blank.\n\nAmici\n~~~~~~~~~\nThe messiest part of this whole process is the guessing of the amici.\nI don't even know what it's doing, but here are some of the concepts.\n\nPretty early on, the date and everything after get removed. For example, this\n\n 4. Amicus Brief, BRIEF OF SOCIAL AND ORGANIZATIONAL PSYCHOLOGISTS AS AMICI CURIAE SUPPORTING RESPONDENTS, August 13, 2012, 2012 U.S. S. Ct. Briefs LEXIS 3223 \n\nbecomes this.\n\n 4. Amicus Brief, BRIEF OF SOCIAL AND ORGANIZATIONAL PSYCHOLOGISTS AS AMICI CURIAE SUPPORTING RESPONDENTS\n\nThe brief title is split into pieces at things like commas, semicolons\nand the word \"and\", so we wind up with something like this.\n\n* 4. Amicus Brief\n* BRIEF OF SOCIAL AND ORGANIZATIONAL PSYCHOLOGISTS AS AMICI CURIAE SUPPORTING RESPONDENTS\n\nThings that don't look like the names of amici get removed. This includes\nwords like \"amici\", \"amicus\", \"supporting\", \"as\", and \"brief\", and we wind\nup with the following amicus.\n\n SOCIAL AND ORGANIZATIONAL PSYCHOLOGISTS\n\nLots of weird things are done to deal with suffixes (\"INC\", \"LLC\", \"JR\"),\nnon-serial commas (\"first, second and third\"), strange character encodings,\nmisspellings, and other typos in the brief title.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tlevine/friendly_brief", "keywords": null, "license": "AGPL", "maintainer": null, "maintainer_email": null, "name": "friendly_brief", "package_url": "https://pypi.org/project/friendly_brief/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/friendly_brief/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tlevine/friendly_brief" }, "release_url": "https://pypi.org/project/friendly_brief/0.0.5/", "requires_dist": null, "requires_python": null, "summary": "Find amici curiae in briefs.", "version": "0.0.5" }, "last_serial": 1105751, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "87775be195f6db8f3b9cdd2a7e87c331", "sha256": "4f5e6fed89b98fc9213e8bce896a78ee06af3fa41a6770ce6cf9572f0a831882" }, "downloads": -1, "filename": "friendly_brief-0.0.1.tar.gz", "has_sig": false, "md5_digest": "87775be195f6db8f3b9cdd2a7e87c331", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3781, "upload_time": "2014-05-24T19:26:22", "url": "https://files.pythonhosted.org/packages/31/61/659b0f8d671a8957d4218af85d961ec99e40a51d28174e9c16edb43c0321/friendly_brief-0.0.1.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "0f610eb06e3bcce75685d5c3734de914", "sha256": "c09cba043679de97c53f2bb1c97e4f53ae606b5993f2ad67443a306fb1a0b1d1" }, "downloads": -1, "filename": "friendly_brief-0.0.3.tar.gz", "has_sig": false, "md5_digest": "0f610eb06e3bcce75685d5c3734de914", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4808, "upload_time": "2014-05-24T23:57:17", "url": "https://files.pythonhosted.org/packages/8d/82/e81d258b794056ba4ed7bd94aec677b5577fde115a44b0160b0ad74724ee/friendly_brief-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "93a744a580aa526bf7d1e1a5377a8d2a", "sha256": "15ccc82c76c7bb759822ed3a164b2eea96c20c2b2e2a204bbd9ef9a4f0be4bee" }, "downloads": -1, "filename": "friendly_brief-0.0.4.tar.gz", "has_sig": false, "md5_digest": "93a744a580aa526bf7d1e1a5377a8d2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4583, "upload_time": "2014-05-25T16:36:48", "url": "https://files.pythonhosted.org/packages/bd/ca/2cbda54444218479c8fd8e3c73e0adb31dc2de8f11a2cd8480c372851ac1/friendly_brief-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "99119979ec93bf353ca6495c044ce926", "sha256": "56c8e4c6c427f8d8be47b2d85e853a5470b529ff4086d3c0e4b7608743e685ff" }, "downloads": -1, "filename": "friendly_brief-0.0.5.tar.gz", "has_sig": false, "md5_digest": "99119979ec93bf353ca6495c044ce926", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4581, "upload_time": "2014-05-27T15:55:57", "url": "https://files.pythonhosted.org/packages/f8/a8/53b642f7e181b247bfb1a69c9ab465d2b4ca37fab88156a83411cb0b5f08/friendly_brief-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "99119979ec93bf353ca6495c044ce926", "sha256": "56c8e4c6c427f8d8be47b2d85e853a5470b529ff4086d3c0e4b7608743e685ff" }, "downloads": -1, "filename": "friendly_brief-0.0.5.tar.gz", "has_sig": false, "md5_digest": "99119979ec93bf353ca6495c044ce926", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4581, "upload_time": "2014-05-27T15:55:57", "url": "https://files.pythonhosted.org/packages/f8/a8/53b642f7e181b247bfb1a69c9ab465d2b4ca37fab88156a83411cb0b5f08/friendly_brief-0.0.5.tar.gz" } ] }