{"id":19741096,"url":"https://github.com/marrow/bcp47","last_synced_at":"2025-08-02T01:43:34.731Z","repository":{"id":66821890,"uuid":"216398665","full_name":"marrow/bcp47","owner":"marrow","description":"An IETF BCP47 datatype and serializer, with support for Unicode extensions.","archived":false,"fork":false,"pushed_at":"2019-10-29T18:03:58.000Z","size":26,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-01-10T19:52:54.376Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marrow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"GothAlice"}},"created_at":"2019-10-20T17:17:29.000Z","updated_at":"2019-10-29T18:04:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"76f8cd87-7714-478e-a2d0-9d8803194210","html_url":"https://github.com/marrow/bcp47","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"marrow/marrow-package-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marrow%2Fbcp47","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marrow%2Fbcp47/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marrow%2Fbcp47/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marrow%2Fbcp47/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marrow","download_url":"https://codeload.github.com/marrow/bcp47/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241070182,"owners_count":19904333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T01:24:41.861Z","updated_at":"2025-02-27T22:44:32.278Z","avatar_url":"https://github.com/marrow.png","language":"Python","funding_links":["https://patreon.com/GothAlice"],"categories":[],"sub_categories":[],"readme":"# bcp47\n\n[![][latestversion]][latestversion_] [![][ghtag]][ghtag_] [![][masterstatus]][masterstatus_] [![][mastercover]][mastercover_] [![][masterreq]][masterreq_] [![][ghwatch]][ghsubscription] [![][ghstar]][ghsubscription]\n\n\u003e © 2019 Alice Bevan-McGregor and contributors.\n\n\u003e https://github.com/marrow/bcp47\n\nPlease describe the package here in few sentences; the goal is about a paragraph. Something easy to digest, but not too brief to give a good idea of what the package is for. For example, this is not a real package, it's a package template for \"unpacking\" on GitHub using their Repository Templates feature. You won't find this on the Python Package Index (Pypi).\n\n## Contents\n\n1. [Overview](#overview)\n\n2. [Installation](#installation)\n\n\t1. [Development Version](#development-version)\n\n3. [Getting Started](#getting-started)\n\n4. [Version History](#version-history)\n\n5. [License](#license)\n\n\n## Overview\n\nProvide a more detailed or in-depth description here, being sure to cover both rationale and goals.\n\n\n## Installation\n\nInstalling `bcp47` is easy, just execute the following in a terminal:\n\n\tpip install bcp47\n\n**Note:** We *strongly* recommend always using a container, virtualization, or sandboxing environment of some kind when developing using Python. We highly recommend use of the Python standard [`venv` (_\"virtual environment\"_) mechanism][venv].\n\nIf you add `bcp47` to the `install_requires` argument of the call to `setup()` in your application's `setup.py` or `setup.cfg` files, bcp47 will be automatically installed and made available when your own application or library is installed. Use `bcp47 ~= 1.0.0` to get all bugfixes for the current release while ensuring that large breaking changes are not installed by limiting to the same major/minor, \u003e= the given patch level.\n\nThis package has the following dependencies:\n\n* A Python interpreter compatible with CPython 3.7 and or newer, i.e. official CPython or Pypy.\n\n\n### Development Version\n\n\u003e [![][developstatus]][developstatus_] [![][developcover]][developcover_] [![][ghsince]][ghsince_] [![][ghissues]][ghissues_] [![][ghfork]][ghfork_]\n\nDevelopment takes place on [GitHub][github] in the [bcp47][repo] project. Issue tracking, documentation, and downloads are provided there.\n\nInstalling the current development version requires [Git][git]), a distributed source code management system. If you have Git you can run the following to download and *link* the development version into your Python runtime:\n\n\tgit clone https://github.com/marrow/bcp47.git\n\tpip install -e 'bcp47[development]'\n\nYou can then upgrade to the latest version at any time, from within that source folder:\n\n\tgit pull\n\tpip install -e '.[development]'\n\nIf you would like to make changes and contribute them back to the project, fork the GitHub project, make your changes, and submit a pull request. This process is beyond the scope of this documentation; for more information see [GitHub's documentation][ghhelp].\n\n\n\n## Getting Started\n\nDescribe the basic steps required to utilize this package. Provide additional sections or subsections as needed. If this documentation exceeds an additional section or two, consider writing a GitBook instead.\n\n\n## On the History of Representing Languages\n\nThe identification and representation of languages has a long history.\n\n\n### In the Beginning: RFC 1766\n\nIn 1995 [**RFC 1766**][rfc1766] was written to define how \"to indicate the language used in an information object\", and defines the `Content-Language` MIME (also HTTP) header.  It defines the basic structure of a serialized language tag:\n\n1. A _primary_ language tag, e.g. `en`, of between 1 and 8 alphanumeric characters.\n\n2. One or more optional hyphen-separated subtags, with each tag itself between 1 and 8 alphanumeric characters.\n\nWhitespace is not permitted within a tag. Tags are handled case-insensitively and case should not be used to convey meaning. All two-letter codes within the first tag component are interpreted as per [ISO 639][iso639]. The value `i` is reserved, `x` is defined as _for private use_. Other values cannot be used.\n\nThe first subtag is usually an [ISO 639][iso639] two-character country code indicating a regional variant (e.g. `en-CA` v. `en-US`) of the overall language, as defined in that ISO standard. This may also be a dialect declaration, such as `en-cockney`. There are other cases, for example languages not listed, such as `i-cherokee`. Lastly, there may be \"script variations\", e.g. `az-arabic` v. `az-cyrillic`.\n\n\n## Version History\n\nThis project has yet to make any releases. When it does, each release should be documented here with a sub-section for the version, and a bulleted list of itemized changes tagged with the kind of change, e.g. *fixed*, *added*, *removed*, or *deprecated*.\n\n\n## License\n\nbcp47 has been released under the MIT Open Source license.\n\n### The MIT License\n\nCopyright © 2019 Alice Bevan-McGregor and contributors.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n[venv]: https://docs.python.org/3/tutorial/venv.html\n\n[git]: http://git-scm.com/\n[repo]: https://github.com/marrow/bcp47/\n[github]: https://github.com/\n[ghhelp]: https://help.github.com/\n\n\n[ghwatch]: https://img.shields.io/github/watchers/marrow/bcp47.svg?style=social\u0026label=Watch \"Subscribe to project activity on GitHub.\"\n[ghstar]: https://img.shields.io/github/stars/marrow/bcp47.svg?style=social\u0026label=Star \"Star this project on GitHub.\"\n[ghsubscription]: https://github.com/marrow/bcp47/subscription\n[ghfork]: https://img.shields.io/github/forks/marrow/bcp47.svg?style=social\u0026label=Fork \"Fork this project on Github.\"\n[ghfork_]: https://github.com/marrow/bcp47/fork\n\n[masterstatus]: http://img.shields.io/travis/marrow/bcp47/master.svg?style=flat \"Production build status.\"\n[masterstatus_]: https://travis-ci.org/marrow/bcp47/branches\n[mastercover]: http://img.shields.io/codecov/c/github/marrow/bcp47/master.svg?style=flat \"Production test coverage.\"\n[mastercover_]: https://codecov.io/github/marrow/bcp47?branch=master\n[masterreq]: https://img.shields.io/requires/github/marrow/bcp47.svg \"Status of production dependencies.\"\n[masterreq_]: https://requires.io/github/marrow/bcp47/requirements/?branch=master\n\n[developstatus]: http://img.shields.io/travis/marrow/bcp47/develop.svg?style=flat \"Development build status.\"\n[developstatus_]: https://travis-ci.org/marrow/bcp47/branches\n[developcover]: http://img.shields.io/codecov/c/github/marrow/bcp47/develop.svg?style=flat \"Development test coverage.\"\n[developcover_]: https://codecov.io/github/marrow/bcp47?branch=develop\n[developreq]: https://img.shields.io/requires/github/marrow/bcp47.svg \"Status of development dependencies.\"\n[developreq_]: https://requires.io/github/marrow/bcp47/requirements/?branch=develop\n\n[ghissues]: http://img.shields.io/github/issues-raw/marrow/bcp47.svg?style=flat \"Github Issues\"\n[ghissues_]: https://github.com/marrow/bcp47/issues\n[ghsince]: https://img.shields.io/github/commits-since/marrow/bcp47/1.0.0.svg \"Changes since last release.\"\n[ghsince_]: https://github.com/marrow/bcp47/commits/develop\n[ghtag]: https://img.shields.io/github/tag/marrow/bcp47.svg \"Latest Github tagged release.\"\n[ghtag_]: https://github.com/marrow/bcp47/tree/1.0.0\n[latestversion]: http://img.shields.io/pypi/v/bcp47.svg?style=flat \"Latest released version on Pypi.\"\n[latestversion_]: https://pypi.python.org/pypi/bcp47\n\n[cake]: http://img.shields.io/badge/cake-lie-1b87fb.svg?style=flat\n\n\n[rfc1766]: https://tools.ietf.org/html/rfc1766\n\n[iso639]: https://www.iso.org/iso-639-language-codes.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarrow%2Fbcp47","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarrow%2Fbcp47","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarrow%2Fbcp47/lists"}