Files
aitbc/aitbc/__init__.py
aitbc f947fa12bc fix: rename queue.py to queue_manager.py to avoid shadowing Python stdlib
The aitbc/queue.py module was shadowing Python's standard library queue module,
causing urllib3 to fail with AttributeError when trying to import queue.LifoQueue.
Renamed to queue_manager.py to resolve the naming conflict.
2026-04-25 08:04:50 +02:00

488 lines
10 KiB
Python

"""
AITBC Package
Centralized utilities for AITBC applications
"""
from .aitbc_logging import get_logger, setup_logger
from .constants import (
DATA_DIR,
CONFIG_DIR,
LOG_DIR,
REPO_DIR,
KEYSTORE_DIR,
BLOCKCHAIN_DATA_DIR,
MARKETPLACE_DATA_DIR,
ENV_FILE,
NODE_ENV_FILE,
BLOCKCHAIN_RPC_PORT,
BLOCKCHAIN_P2P_PORT,
AGENT_COORDINATOR_PORT,
MARKETPLACE_PORT,
PACKAGE_VERSION,
)
from .exceptions import (
AITBCError,
ConfigurationError,
NetworkError,
AuthenticationError,
EncryptionError,
DatabaseError,
ValidationError,
BridgeError,
RetryError,
CircuitBreakerOpenError,
RateLimitError,
)
from .env import (
get_env_var,
get_required_env_var,
get_bool_env_var,
get_int_env_var,
get_float_env_var,
get_list_env_var,
)
from .paths import (
get_data_path,
get_config_path,
get_log_path,
get_repo_path,
ensure_dir,
ensure_file_dir,
resolve_path,
get_keystore_path,
get_blockchain_data_path,
get_marketplace_data_path,
)
from .json_utils import (
load_json,
save_json,
merge_json,
json_to_string,
string_to_json,
get_nested_value,
set_nested_value,
flatten_json,
)
from .http_client import AITBCHTTPClient, AsyncAITBCHTTPClient
from .config import BaseAITBCConfig, AITBCConfig
from .decorators import (
retry,
timing,
cache_result,
validate_args,
handle_exceptions,
async_timing,
)
from .validation import (
validate_address,
validate_hash,
validate_url,
validate_port,
validate_email,
validate_non_empty,
validate_positive_number,
validate_range,
validate_chain_id,
validate_uuid,
)
from .async_helpers import (
run_sync,
gather_with_concurrency,
run_with_timeout,
batch_process,
sync_to_async,
async_to_sync,
retry_async,
wait_for_condition,
)
from .database import (
DatabaseConnection,
get_database_connection,
ensure_database,
vacuum_database,
get_table_info,
table_exists,
)
from .monitoring import (
MetricsCollector,
PerformanceTimer,
HealthChecker,
)
from .data_layer import DataLayer, MockDataGenerator, RealDataFetcher, get_data_layer
from .crypto import (
derive_ethereum_address,
sign_transaction_hash,
verify_signature,
encrypt_private_key,
decrypt_private_key,
generate_secure_random_bytes,
keccak256_hash,
sha256_hash,
validate_ethereum_address,
generate_ethereum_private_key,
)
from .web3_utils import Web3Client, create_web3_client
from .security import (
generate_token,
generate_api_key,
validate_token_format,
validate_api_key,
SessionManager,
APIKeyManager,
generate_secure_random_string,
generate_secure_random_int,
SecretManager,
hash_password,
verify_password,
generate_nonce,
generate_hmac,
verify_hmac,
)
from .time_utils import (
get_utc_now,
get_timestamp_utc,
format_iso8601,
parse_iso8601,
timestamp_to_iso,
iso_to_timestamp,
format_duration,
format_duration_precise,
parse_duration,
add_duration,
subtract_duration,
get_time_until,
get_time_since,
calculate_deadline,
is_deadline_passed,
get_deadline_remaining,
format_time_ago,
format_time_in,
to_timezone,
get_timezone_offset,
is_business_hours,
get_start_of_day,
get_end_of_day,
get_start_of_week,
get_end_of_week,
get_start_of_month,
get_end_of_month,
sleep_until,
retry_until_deadline,
Timer,
)
from .api_utils import (
APIResponse,
PaginatedResponse,
success_response,
error_response,
not_found_response,
unauthorized_response,
forbidden_response,
validation_error_response,
conflict_response,
internal_error_response,
PaginationParams,
paginate_items,
build_paginated_response,
RateLimitHeaders,
build_cors_headers,
build_standard_headers,
validate_sort_field,
validate_sort_order,
build_sort_params,
filter_fields,
exclude_fields,
sanitize_response,
merge_responses,
get_client_ip,
get_user_agent,
build_request_metadata,
)
from .events import (
Event,
EventPriority,
EventBus,
AsyncEventBus,
event_handler,
publish_event,
get_global_event_bus,
set_global_event_bus,
EventFilter,
EventAggregator,
EventRouter,
)
from .queue_manager import (
Job,
JobStatus,
JobPriority,
TaskQueue,
JobScheduler,
BackgroundTaskManager,
WorkerPool,
debounce,
throttle,
)
from .state import (
StateTransition,
StateTransitionError,
StatePersistenceError,
StateMachine,
ConfigurableStateMachine,
StatePersistence,
AsyncStateMachine,
StateMonitor,
StateValidator,
StateSnapshot,
)
from .testing import (
MockFactory,
TestDataGenerator,
TestHelpers,
MockResponse,
MockDatabase,
MockCache,
mock_async_call,
create_mock_config,
create_test_scenario,
)
__version__ = "0.6.0"
__all__ = [
# Logging
"get_logger",
"setup_logger",
# Constants
"DATA_DIR",
"CONFIG_DIR",
"LOG_DIR",
"REPO_DIR",
"KEYSTORE_DIR",
"BLOCKCHAIN_DATA_DIR",
"MARKETPLACE_DATA_DIR",
"ENV_FILE",
"NODE_ENV_FILE",
"BLOCKCHAIN_RPC_PORT",
"BLOCKCHAIN_P2P_PORT",
"AGENT_COORDINATOR_PORT",
"MARKETPLACE_PORT",
"PACKAGE_VERSION",
# Exceptions
"AITBCError",
"ConfigurationError",
"NetworkError",
"AuthenticationError",
"EncryptionError",
"DatabaseError",
"ValidationError",
"BridgeError",
"RetryError",
"CircuitBreakerOpenError",
"RateLimitError",
# Environment helpers
"get_env_var",
"get_required_env_var",
"get_bool_env_var",
"get_int_env_var",
"get_float_env_var",
"get_list_env_var",
# Path utilities
"get_data_path",
"get_config_path",
"get_log_path",
"get_repo_path",
"ensure_dir",
"ensure_file_dir",
"resolve_path",
"get_keystore_path",
"get_blockchain_data_path",
"get_marketplace_data_path",
# JSON utilities
"load_json",
"save_json",
"merge_json",
"json_to_string",
"string_to_json",
"get_nested_value",
"set_nested_value",
"flatten_json",
# HTTP client
"AITBCHTTPClient",
"AsyncAITBCHTTPClient",
# Configuration
"BaseAITBCConfig",
"AITBCConfig",
# Decorators
"retry",
"timing",
"cache_result",
"validate_args",
"handle_exceptions",
"async_timing",
# Validators
"validate_address",
"validate_hash",
"validate_url",
"validate_port",
"validate_email",
"validate_non_empty",
"validate_positive_number",
"validate_range",
"validate_chain_id",
"validate_uuid",
# Async helpers
"run_sync",
"gather_with_concurrency",
"run_with_timeout",
"batch_process",
"sync_to_async",
"async_to_sync",
"retry_async",
"wait_for_condition",
# Database
"DatabaseConnection",
"get_database_connection",
"ensure_database",
"vacuum_database",
"get_table_info",
"table_exists",
# Data layer
"DataLayer",
"MockDataGenerator",
"RealDataFetcher",
"get_data_layer",
# Monitoring
"MetricsCollector",
"PerformanceTimer",
"HealthChecker",
# Cryptography
"derive_ethereum_address",
"sign_transaction_hash",
"verify_signature",
"encrypt_private_key",
"decrypt_private_key",
"generate_secure_random_bytes",
"keccak256_hash",
"sha256_hash",
"validate_ethereum_address",
"generate_ethereum_private_key",
# Web3 utilities
"Web3Client",
"create_web3_client",
# Security
"generate_token",
"generate_api_key",
"validate_token_format",
"validate_api_key",
"SessionManager",
"APIKeyManager",
"generate_secure_random_string",
"generate_secure_random_int",
"SecretManager",
"hash_password",
"verify_password",
"generate_nonce",
"generate_hmac",
"verify_hmac",
# Time utilities
"get_utc_now",
"get_timestamp_utc",
"format_iso8601",
"parse_iso8601",
"timestamp_to_iso",
"iso_to_timestamp",
"format_duration",
"format_duration_precise",
"parse_duration",
"add_duration",
"subtract_duration",
"get_time_until",
"get_time_since",
"calculate_deadline",
"is_deadline_passed",
"get_deadline_remaining",
"format_time_ago",
"format_time_in",
"to_timezone",
"get_timezone_offset",
"is_business_hours",
"get_start_of_day",
"get_end_of_day",
"get_start_of_week",
"get_end_of_week",
"get_start_of_month",
"get_end_of_month",
"sleep_until",
"retry_until_deadline",
"Timer",
# API utilities
"APIResponse",
"PaginatedResponse",
"success_response",
"error_response",
"not_found_response",
"unauthorized_response",
"forbidden_response",
"validation_error_response",
"conflict_response",
"internal_error_response",
"PaginationParams",
"paginate_items",
"build_paginated_response",
"RateLimitHeaders",
"build_cors_headers",
"build_standard_headers",
"validate_sort_field",
"validate_sort_order",
"build_sort_params",
"filter_fields",
"exclude_fields",
"sanitize_response",
"merge_responses",
"get_client_ip",
"get_user_agent",
"build_request_metadata",
# Events
"Event",
"EventPriority",
"EventBus",
"AsyncEventBus",
"event_handler",
"publish_event",
"get_global_event_bus",
"set_global_event_bus",
"EventFilter",
"EventAggregator",
"EventRouter",
# Queue
"Job",
"JobStatus",
"JobPriority",
"TaskQueue",
"JobScheduler",
"BackgroundTaskManager",
"WorkerPool",
"debounce",
"throttle",
# State
"StateTransition",
"StateTransitionError",
"StatePersistenceError",
"StateMachine",
"ConfigurableStateMachine",
"StatePersistence",
"AsyncStateMachine",
"StateMonitor",
"StateValidator",
"StateSnapshot",
# Testing
"MockFactory",
"TestDataGenerator",
"TestHelpers",
"MockResponse",
"MockDatabase",
"MockCache",
"mock_async_call",
"create_mock_config",
"create_test_scenario",
]