Logo

User Guide

  • Installation
    • From TestPyPI
    • From Source
    • Requirements
  • Quick Start
    • Parsing an mmCIF File
    • Selective Parsing
    • Writing mmCIF Files
    • Quick JSON Export
    • Quick JSON Import
  • Usage Guide
    • Access Patterns
      • Dot Notation
      • Dictionary Notation
      • Row-wise Access
      • Column-wise Access
      • Filtering and Slicing
      • Iterating Over Structure
    • Data Creation
      • Programmatic Creation
      • Dot-based Auto-creation
    • Safety Features
      • Pending Proxies
      • Schema Warnings
      • Tab Completion
      • Fuzzy Matching
    • Deleting Data
      • Using del
      • Using .delete()
  • Validation
    • Quick Start
      • Per-Category Validation
    • Validator Classes
      • Multi-Level Validators
      • Validation Report
    • Single-Category Validation
    • Cross-Category Validation
    • Custom Rules with Factories
    • Validation Severity
    • Extending MMCIFValidator
  • Import & Export
    • JSON Export
      • Nested JSON Structure
    • JSON Import
    • Round-trip Verification
    • Advanced Export Options
  • 🦥 SLOTH Cookbook
    • Structural Loader with On-demand Traversal Handling
    • Table of Contents
    • 1. Setup and Installation
    • 2. Import Required Libraries
    • 3. Understanding SLOTH’s Core Components
      • Key Features
    • 4. Parsing mmCIF Files with Embedded Data
    • 5. Exploring Data Structures with Dot Notation
    • 6. Demonstrating 2D Slicing
    • 7. Validating mmCIF Data
    • 8. Modifying mmCIF Data
    • 9. Creating Sample Data - Manual Approach
    • 10. Creating Sample Data - Programmatic Approach
    • 11. Creating Sample Data - Auto-Creation with Dot Notation ✨
    • 12. Exporting to Nested JSON
    • 13. Importing from JSON
    • 14. Round-Trip Validation
    • 15. Writing Modified mmCIF Files
    • 16. Complete Workflow Example
    • Summary
      • Key Takeaways
      • Next Steps

API Reference

  • MMCIFHandler — Main Entry Point
    • MMCIFHandler
      • MMCIFHandler.__init__()
      • MMCIFHandler.read()
      • MMCIFHandler.write()
      • MMCIFHandler.export()
      • MMCIFHandler.load()
  • Data Models
    • Enumerations
      • DataSourceFormat
        • DataSourceFormat.MMCIF
        • DataSourceFormat.JSON
        • DataSourceFormat.DICT
        • DataSourceFormat.UNKNOWN
    • Abstract Base Classes
      • DataNode
        • DataNode.name
      • DataContainer
        • DataContainer.register()
    • Top-level Container
      • MMCIFDataContainer
        • MMCIFDataContainer.__init__()
        • MMCIFDataContainer.name
        • MMCIFDataContainer.delete()
        • MMCIFDataContainer.blocks
        • MMCIFDataContainer.data
    • Data Block
      • DataBlock
        • DataBlock.__init__()
        • DataBlock.name
        • DataBlock.categories
        • DataBlock.data
        • DataBlock.delete()
    • Category
      • Category
        • Category.__init__()
        • Category.name
        • Category.items
        • Category.delete()
        • Category.data
        • Category.row_count
        • Category.rows
        • Category.get_item()
        • Category.is_lazy_loaded()
    • Row
      • Row
        • Row.__init__()
        • Row.name
        • Row.data
    • Item
      • Item
        • Item.__init__()
        • Item.name
        • Item.values
        • Item.add_value()
    • Lazy Loading Internals
      • LazyGemmiColumn
        • LazyGemmiColumn.__init__()
      • LazyRowList
        • LazyRowList.__init__()
      • LazyItemDict
        • LazyItemDict.__init__()
        • LazyItemDict.keys()
        • LazyItemDict.values()
        • LazyItemDict.items()
        • LazyItemDict.get()
      • LazyKeyList
        • LazyKeyList.__init__()
        • LazyKeyList.index()
        • LazyKeyList.count()
  • MMCIFParser — File Parsing
    • MMCIFParser
      • MMCIFParser.__init__()
      • MMCIFParser.parse()
  • MMCIFWriter — File Writing
    • MMCIFWriter
      • MMCIFWriter.__init__()
      • MMCIFWriter.write()
  • JSONExporter — JSON Export
    • JSONExporter
      • JSONExporter.__init__()
      • JSONExporter.export_data()
  • JSONImporter — JSON Import
    • JSONImporter
      • JSONImporter.__init__()
      • JSONImporter.import_data()
  • Serializer & Relationship Resolution
    • Cache Management
      • CacheManager
        • CacheManager.__init__()
        • CacheManager.get()
        • CacheManager.set()
        • CacheManager.clear_global_caches()
      • get_cache_manager()
    • Dictionary Parsing
      • DictionaryParser
        • DictionaryParser.__init__()
        • DictionaryParser.parse()
    • Mapping Generation
      • MappingGenerator
        • MappingGenerator.__init__()
        • MappingGenerator.get_mapping_rules()
    • Relationship Resolution
      • RelationshipResolver
        • RelationshipResolver.__init__()
        • RelationshipResolver.set_denormalize()
        • RelationshipResolver.mapping_rules
        • RelationshipResolver.resolve_relationships()
      • RelationshipMetadata
        • RelationshipMetadata.__init__()
      • RelationshipConstraint
        • RelationshipConstraint.__init__()
        • RelationshipConstraint.validate()
    • Ownership Analysis
      • OwnershipAnalyzer
        • OwnershipAnalyzer.__init__()
        • OwnershipAnalyzer.filter_ownership_relationships()
    • Nesting
      • NestingBuilder
        • NestingBuilder.build_nested_structure()
  • Plugin System
    • Core Classes
      • Plugin
        • Plugin.create_wrapper()
        • Plugin.execute()
      • PluginWrapper
        • PluginWrapper.__init__()
        • PluginWrapper.result
      • FunctionPlugin
        • FunctionPlugin.__init__()
        • FunctionPlugin.create_wrapper()
        • FunctionPlugin.execute()
      • PluginFactory
        • PluginFactory.__init__()
        • PluginFactory.register()
        • PluginFactory.get_wrapper()
        • PluginFactory.has_plugin()
        • PluginFactory.get_plugin()
        • PluginFactory.list_plugins()
    • Model-Level Registration
    • Validation as a Plugin Example
  • Validator
    • Exceptions & Enums
      • ValidationError
        • ValidationError.__init__()
      • ValidationSeverity
        • ValidationSeverity.ERROR
        • ValidationSeverity.WARNING
        • ValidationSeverity.INFO
    • Validation Report
      • ValidationReport
        • ValidationReport.__init__()
        • ValidationReport.add()
        • ValidationReport.extend()
        • ValidationReport.all_issues
        • ValidationReport.errors
        • ValidationReport.warnings
        • ValidationReport.is_valid
        • ValidationReport.raise_on_error()
    • Validator Plugin
      • ValidatorPlugin
        • ValidatorPlugin.__init__()
        • ValidatorPlugin.register_validator()
        • ValidatorPlugin.register_cross_checker()
        • ValidatorPlugin.merge()
        • ValidatorPlugin.get_validators()
        • ValidatorPlugin.get_cross_checkers()
        • ValidatorPlugin.create_wrapper()
        • ValidatorPlugin.execute()
        • ValidatorPlugin.validate()
      • CategoryValidator
        • CategoryValidator.against()
    • Multi-Level Validators
      • DataBlockValidator
        • DataBlockValidator.__init__()
        • DataBlockValidator.create_wrapper()
        • DataBlockValidator.execute()
      • BlockValidationWrapper
        • BlockValidationWrapper.report
        • BlockValidationWrapper.is_valid
      • ContainerValidator
        • ContainerValidator.__init__()
        • ContainerValidator.create_wrapper()
        • ContainerValidator.execute()
      • ContainerValidationWrapper
        • ContainerValidationWrapper.report
        • ContainerValidationWrapper.is_valid
    • Validator Classes
      • SchemaValidator
        • SchemaValidator.__init__()
      • MMCIFValidator
        • MMCIFValidator.__init__()
    • Single-Category Rule Factories
      • mandatory_items()
      • one_of_following()
      • value_length()
      • value_range()
      • conditional_mandatory()
      • regex_check()
      • ordering_check()
      • allowed_pairs()
      • min_rows()
      • enumeration_check()
      • type_check()
    • Cross-Category Rule Factories
      • foreign_key()
      • parent_child()
      • composite_key()
      • oper_expression()
      • cross_mandatory()
      • cross_ordering()
  • Base Classes
    • BaseParser
      • BaseParser.__init__()
      • BaseParser.parse()
    • BaseWriter
      • BaseWriter.write()
    • BaseImporter
      • BaseImporter.__init__()
      • BaseImporter.import_data()
    • BaseExporter
      • BaseExporter.__init__()
      • BaseExporter.export_data()

Project

  • Changelog
    • v0.8.1 (2026-04-09)
    • v0.8.0 (2026-04-09)
    • v0.7.0 (2026-04-08)
    • v0.6.0 (2026-04-07)
    • v0.5.4 (2026-04-07)
    • v0.5.3 (2026-04-07)
    • v0.5.2 (2025-12-15)
  • Contributing
    • Development Setup
    • Code Style
SLOTH
  • Search


© Copyright 2025, Lucas Carrijo de Oliveira.

Built with Sphinx using a theme provided by Read the Docs.