bluemastodon.config
index
/Users/tcole/code/claude/social-sync/src/bluemastodon/config.py

Configuration management for bluemastodon.
 
This module handles loading configuration from environment variables and
providing access to API credentials and settings.

 
Modules
       
os

 
Classes
       
builtins.object
BlueskyConfig
Config
MastodonConfig

 
class BlueskyConfig(builtins.object)
    BlueskyConfig(username: str, password: str) -> None
 
Configuration for Bluesky API.
 
  Methods defined here:
__eq__(self, other)
Return self==value.
__init__(self, username: str, password: str) -> None
Initialize self.  See help(type(self)) for accurate signature.
__replace__ = _replace(self, /, **changes) from dataclasses
__repr__(self)
Return repr(self).

Data descriptors defined here:
__dict__
dictionary for instance variables
__weakref__
list of weak references to the object

Data and other attributes defined here:
__annotations__ = {'password': <class 'str'>, 'username': <class 'str'>}
__dataclass_fields__ = {'password': Field(name='password',type=<class 'str'>,default...appingproxy({}),kw_only=False,_field_type=_FIELD), 'username': Field(name='username',type=<class 'str'>,default...appingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,ord...rue,kw_only=False,slots=False,weakref_slot=False)
__hash__ = None
__match_args__ = ('username', 'password')

 
class Config(builtins.object)
    Config(
    bluesky: bluemastodon.config.BlueskyConfig,
    mastodon: bluemastodon.config.MastodonConfig,
    lookback_hours: int = 24,
    sync_interval_minutes: int = 60,
    max_posts_per_run: int = 5,
    include_media: bool = True,
    include_links: bool = True
) -&gt; None
 
Main configuration container.
 
  Methods defined here:
__eq__(self, other)
Return self==value.
__init__( self, bluesky: bluemastodon.config.BlueskyConfig, mastodon: bluemastodon.config.MastodonConfig, lookback_hours: int = 24, sync_interval_minutes: int = 60, max_posts_per_run: int = 5, include_media: bool = True, include_links: bool = True ) -> None
Initialize self.  See help(type(self)) for accurate signature.
__replace__ = _replace(self, /, **changes) from dataclasses
__repr__(self)
Return repr(self).

Data descriptors defined here:
__dict__
dictionary for instance variables
__weakref__
list of weak references to the object

Data and other attributes defined here:
__annotations__ = {'bluesky': <class 'bluemastodon.config.BlueskyConfig'>, 'include_links': <class 'bool'>, 'include_media': <class 'bool'>, 'lookback_hours': <class 'int'>, 'mastodon': <class 'bluemastodon.config.MastodonConfig'>, 'max_posts_per_run': <class 'int'>, 'sync_interval_minutes': <class 'int'>}
__dataclass_fields__ = {'bluesky': Field(name='bluesky',type=<class 'bluemastodon.c...appingproxy({}),kw_only=False,_field_type=_FIELD), 'include_links': Field(name='include_links',type=<class 'bool'>,d...appingproxy({}),kw_only=False,_field_type=_FIELD), 'include_media': Field(name='include_media',type=<class 'bool'>,d...appingproxy({}),kw_only=False,_field_type=_FIELD), 'lookback_hours': Field(name='lookback_hours',type=<class 'int'>,d...appingproxy({}),kw_only=False,_field_type=_FIELD), 'mastodon': Field(name='mastodon',type=<class 'bluemastodon....appingproxy({}),kw_only=False,_field_type=_FIELD), 'max_posts_per_run': Field(name='max_posts_per_run',type=<class 'int'...appingproxy({}),kw_only=False,_field_type=_FIELD), 'sync_interval_minutes': Field(name='sync_interval_minutes',type=<class '...appingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,ord...rue,kw_only=False,slots=False,weakref_slot=False)
__hash__ = None
__match_args__ = ('bluesky', 'mastodon', 'lookback_hours', 'sync_interval_minutes', 'max_posts_per_run', 'include_media', 'include_links')
include_links = True
include_media = True
lookback_hours = 24
max_posts_per_run = 5
sync_interval_minutes = 60

 
class MastodonConfig(builtins.object)
    MastodonConfig(instance_url: str, access_token: str) -&gt; None
 
Configuration for Mastodon API.
 
  Methods defined here:
__eq__(self, other)
Return self==value.
__init__(self, instance_url: str, access_token: str) -> None
Initialize self.  See help(type(self)) for accurate signature.
__replace__ = _replace(self, /, **changes) from dataclasses
__repr__(self)
Return repr(self).

Data descriptors defined here:
__dict__
dictionary for instance variables
__weakref__
list of weak references to the object

Data and other attributes defined here:
__annotations__ = {'access_token': <class 'str'>, 'instance_url': <class 'str'>}
__dataclass_fields__ = {'access_token': Field(name='access_token',type=<class 'str'>,def...appingproxy({}),kw_only=False,_field_type=_FIELD), 'instance_url': Field(name='instance_url',type=<class 'str'>,def...appingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,ord...rue,kw_only=False,slots=False,weakref_slot=False)
__hash__ = None
__match_args__ = ('instance_url', 'access_token')

 
Functions
       
load_config(env_file: Optional[str] = None) -> bluemastodon.config.Config
Load configuration from environment variables.
 
Args:
    env_file: Optional path to .env file
 
Returns:
    Config object with loaded settings
 
Raises:
    ValueError: If required environment variables are missing

 
Data
        Optional = typing.Optional