- Set maximum possible value for
DATA_API_BATCH_ID_SIZEto be 1000 - Use
typing.get_type_hintsinconfig.pyinstead ofannotations(Issue #86) - Update
README.md
- Fix issue with
retry_backoffusage inrcsbapi.sequencemodule - Move "Custom Configuration" readthedocs page to its own section
- Update search API schema fetching to include
timeout(20 seconds) and more informative logging message (Issue #90) - Various other logging updates
- When working in Jupyter environments with Python 3.14+, execution of Data API queries (
DataQuery) must be explicitlyawaited(see details)- This addresses an issue with the async behavior of Jupyter environments due to the kernel already having an active asyncio event loop running, coupled with changes to
asyncioin Python 3.14 (Issue #98) - This change does not impact code run in standard Python scripts (of any Python version); it only affects code run in Jupyter that uses Python 3.14 or greater
- This addresses an issue with the async behavior of Jupyter environments due to the kernel already having an active asyncio event loop running, coupled with changes to
- Updates to documentation and notebooks
- Add GitHub issue form templates
- Update search schemas: 1.53.0 -> 1.55.0
- Update data schemas:
- entry schema 9.1.0 -> 9.1.1
- polymer_entity schema 10.1.0 -> 10.1.1
- polymer_entity_instance schema 10.1.0 -> 10.1.2
- nonpolymer_entity_instance schema 10.1.0 -> 10.1.2
- Updated parameters for newly released embeddings-based structure similarity search (
StructSimilarityQuery)- Added
number_of_candidates,ptmscore_cutoff, andsimilarity_typeparameters operatorparameter is deprecated
- Added
- Fixed
attrs.get_attribute_details()helper method - Documentation fixes
- Updates to
StructSimilarityQueryinrcsbapi.search:- Add support for specifying
assembly_idorasym_idfor input file/URL-based structure similarity searches - Deprecate
structure_input_typeargument (to be removed in version 2.0.0)
- Add support for specifying
- Updates to
StructMotifQueryinrcsbapi.search:- Deprecate
urlargumemt in favor offile_url(to be removed in version 2.0.0) - Deprecate
file_extensionargumemt in favor offile_format(to be removed in version 2.0.0)
- Deprecate
- Update Search API schema URL in
const.pyto use "https" (related to Issue #90) - Remove "fallback" mechanism to local schema files and replace with explicit error messages (i.e., likely network connection issues or API service unavailability)
- Move package version and metadata from
__init__.pytopyproject.toml - Adjust project build pipelines:
- Include wheels when publishing to PyPI
- Use
hatchinstead ofsetuptoolsfor building
- Fix issue with annotations evaluation during config setting override, arising in Python 3.14 (Issue #86)
- Add testing support for Python 3.14
- Update search schemas: 1.52.1 -> 1.53.0
- Update data schemas:
- entry schema 9.0.4 -> 9.1.0
- polymer_entity schema 10.0.5 -> 10.1.0
- branched_entity schema 10.0.0 -> 10.1.0
- nonpolymer_entity schema 10.0.0 -> 10.1.0
- polymer_entity_instance schema 10.0.4 -> 10.1.0
- branched_entity_instance schema 9.0.0 -> 9.1.0
- nonpolymer_entity_instance schema 10.0.1 -> 10.1.0
- assembly schema 9.0.0 -> 9.1.0
- chem_comp schema 7.1.4 -> 7.2.0
- drugbank schema 1.3.2 -> 1.4.0
- Switch from using
setup.pytopyproject.toml(Issue #67) - End support for Python 3.8 (due to PEP 639)
- Fix and improve formatting of several warning messages
- Switch from using
requeststohttpx(Issue #33) - Add asynchronous request support for Data API (
rcsbapi.data) to speed up requests (see config settings) - Add retry support for Search API (
rcsbapi.search), Data API (rcsbapi.data), Model Server API (rcsbapi.model), and Sequence Coordinate API (rcsbapi.sequence) requests (see config settings) - Adjust and add default settings to
rcsbapi.configconfiguration (see config settings) - Stop overriding logging configuration within package—this should be done by client applications (Issue #52)
- Fixed bug associated with
typingobserved for Python 3.8
- Add support for Model Server API via new module
rcsbapi.model. Use this to fetch structure/coordinate data from PDB entries and ligands as well as mmCIF metadata. (PR #73)- Documentation and Jupyter notebook are provided
- Fixed bug with
rcsbapi.dataData API module, in which requesting multiple data items with redundant target field names was causing them to be overwritten in the final constructed query (PR #74) - Added Azure testing support for Windows (PR #75)
- Add model server API schema: 0.9.12
- Update search schemas: 1.50.1 -> 1.52.1
- Update data schemas:
- polymer_entity_instance schema 10.0.3 -> 10.0.4
- Add support for Sequence Coordinates API via new module
rcsbapi.sequence. Use this to fetch alignments between sequences from different databases as well as sequence-level annotations integrated from external resources and RCSB PDB. (PRs #46, #68)- Documentation and Jupyter notebook provided
- Generalized pre-existing Data API module GraphQL schema and query generation code to be re-used by both
rcsbapi.dataandrcsbapi.sequencemodules (no impact to user)
- Add
NestedAttributeQueryto Search APIrcsbapi.searchmodule to support restricted/pair-wise grouping of nested attributes and prevent them from being automatically flattened down to the same group level as adjacent terminal nodes. Warning messages have been added to notify users of the need to make use of this for any nested attributes being included in search queries. (PR #66; Issue #49) - Change
rcsbapi.searchSearch API requests to usePOSTinstead ofGET, to handle very large query bodies that would otherwise generate massive URL lengths - Add custom User-Agent to API request headers (
"User-Agent": "py-rcsb-api/__version__ (+https://github.com/rcsb/py-rcsb-api)") - Add sequence-coordinates API schema (GraphQL; no version)
- Update search schemas: 1.49.0 -> 1.50.1
- Update data schemas:
- entry schema 9.0.4 -> 9.0.4
- polymer_entity schema 10.0.5 -> 10.0.5
- Fix: Patch schema parsing for search attributes - delete duplicate chemical attributes from structure attribute schema (following update to RCSB.org schemas in July 2025, in which chemical attributes are now merged into structure attribute schema). (Issue #70)
- Fix: Update regex pattern for instances in
const.pyto support suffixes longer than one character (e.g., "1S5L.AA")
- Update how
dataclassattributes are created inconst.py
- Add missing dependency for building documentation
- Add docstrings
- Add
ALL_STRUCTURESobject, allowing Data API queries for all PDB structures and chemical components - Add
progress_barandbatch_sizeparameters to Data API package's.exec - Add
groupfunction to Search API package to enforce nested grouping - Update README with new citation information
- Update search schemas: 1.48.0 -> 1.49.0
- Update data schemas:
- entry schema 9.0.3 -> 9.0.4
- polymer_entity_instance schema 10.0.2 -> 10.0.3
- nonpolymer_entity_instance schema 10.0.0 -> 10.0.1
- Add import to
const.pyfor compatibility with Python 3.8 - Update search schemas: 1.47.7 -> 1.48.0
- Release version 1.0.0 of package
- Update search schemas: 1.47.6 -> 1.47.7
- Update data schemas:
- entry schema 9.0.2 -> 9.0.3
- chem_comp schema 7.1.3 -> 7.1.4
- Update documentation
- Separate out package-wide settings into immutable constants (
const.py) and configurable parameters (config.py) - Renamed
rcsb_attributes->search_attributes - Automatically capitalize input_ids
- Added
dev_toolsdirectory and updatedupdate_schema.py - Search API
chemical_schemaandstructure_schemaat v1.47.6 - Update documentation
- Merge rcsbsearchapi package into package as separate
rcsbapi.searchmodule- Renamed several classes and methods in this process:
SequenceQuery->SeqSimilarityQueryStructureMotifResidue->StructMotifResidueRange->FacetRangercsb_query_editor_url->get_editor_linkrcsb_query_builder_url->get_query_builder_link
- Renamed several classes and methods in this process:
- Renamed several files and classes to prevent overlap with future developments:
data/query.py->data/data_query.pydata/schema.py->data/schema_query.pyQuery()Data API class ->DataQuery()Schema()Data API class ->DataSchema()search/search.py->search/search_query.pysearch/schema.py->search/search_schema.py
- Automatically change singular "input_type" to plural when possible
- Add warning message if fully qualified field path not provided
- Update documentation
- Falls back to local schema file when fetch fails
- Supports dot separated field names for requesting data
get_unique_fieldsdeleted and replaced withfind_pathsfind_field_nameschanged to return only field names, no descriptions- Executing queries called with
.exec() - Updates to documentation
- See PR #31 for full details
- Updated data_api_schema.json and added all schema files on https://data.rcsb.org/#data-schema
- Updates to Query methods
- Added GraphQL query validation
- Updates to documentation
- First release!
- Provides Pythonic interface for interacting with RCSB.org Data API
- Automated Data API schema parsing via Schema.py
- Enables query building and execution via Query.py
- Documentation and example notebooks
- See PR #23 for full details