bioc
bioc - Processing BioC, Brat, and PubTator with Python.
Decision gist · record as of 2026-08-14
Yes, if you work with BioC, Brat, or PubTator formats in a stable biomedical NLP pipeline. The package is mature and has no known vulnerabilities, but it is abandoned and will not receive updates. Install only if you are confident the format specifications and your dependencies will remain compatible, or if you plan to maintain a fork yourself.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with five lightweight runtime dependencies.
- Package is abandoned as of 2023-08-21 with no commits since; last release was 2023-08-15, over 1095 days ago.
- Suitable for stable use cases but expect no maintenance or bug fixes.
License · maintenance · safety
permissive license (permissive) — MIT license (permissive); you may use, modify, and distribute bioc freely in commercial and private projects with minimal restrictions.
last release 2023-08-15 (1095 days) · last repo commit 2023-08-21 · 34 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 165,686 downloads/mo, #10,520 on PyPI
Alternatives
Verify before relying
pip install bioc
from bioc import biocxml
with open('file.xml', 'r') as fp:
collection = biocxml.load(fp)- Whether the package works correctly with current versions of lxml, jsonlines, intervaltree, tqdm, and docopt
- Whether PubTator and Brat format specifications have changed since the last release in 2023
What it is and what it does
bioc is a Python library for serializing and deserializing three biomedical text annotation formats: BioC (XML and JSON), Brat standoff, and PubTator. It exposes a familiar API modeled on Python's standard library marshal and pickle modules, making it straightforward to load annotation files into Python objects and dump them back to disk.
The package is designed for biomedical NLP workflows where text documents and their annotations need to be exchanged or processed. It depends on lxml for XML parsing, jsonlines for JSON line handling, intervaltree for interval operations, tqdm for progress bars, and docopt for command-line argument parsing. The library has been stable since its 2016 release but is no longer actively maintained.
Use it for
- Load BioC XML annotation files from biomedical corpora for downstream NLP processing or analysis
- Convert between Brat standoff format and BioC format for annotation tool interoperability
- Parse PubTator Central output to extract biomedical entity and relation annotations from literature
- Serialize processed annotation objects back to BioC or Brat format for sharing with collaborators
- Build reproducible biomedical text mining pipelines that depend on standardized annotation formats
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with BioC, Brat, or PubTator formats in a stable biomedical NLP pipeline.
The package is mature and has no known vulnerabilities, but it is abandoned and will not receive updates. Install only if you are confident the format specifications and your dependencies will remain compatible, or if you plan to maintain a fork yourself.
Install
bioc on PyPI
Before you install
Low install friction with five lightweight runtime dependencies. Package is abandoned as of 2023-08-21 with no commits since; last release was 2023-08-15, over 1095 days ago. Suitable for stable use cases but expect no maintenance or bug fixes.
License in practice
MIT license (permissive); you may use, modify, and distribute bioc freely in commercial and private projects with minimal restrictions.
Quickstart
pip install bioc
from bioc import biocxml
with open('file.xml', 'r') as fp:
collection = biocxml.load(fp)
Verify before relying
- Whether the package works correctly with current versions of lxml, jsonlines, intervaltree, tqdm, and docopt
- Whether PubTator and Brat format specifications have changed since the last release in 2023
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packageslxmljsonlinesintervaltreetqdmdocopt |
| Maintenance | Abandoned 1,095 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 165,686 / month, #10,520 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 1 - PlanningIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Software Development :: Libraries :: Application FrameworksTopic :: Text Processing :: Markup :: XML |
Evidence: bioc-2.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “biomedical text annotation parsing”
- biocReads and writes biomedical text annotation formats—BioC XML/JSON,…
- wfdbRead, write, process, and plot physiologic signal and annotation data…
- edfioedfio reads and writes EDF, EDF+C, BDF, and BDF+C files—standard…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also wfdb · isa-rwval · edfio · pronto · dirtyjson · fastobo · javaproperties · docspec · pyaxmlparser · python-libsbml