Welcome to satella’s documentation!¶
Satella is an almost-zero-requirements Python 3.5+ library for writing server applications. It has arisen out of my requirements to have some classes or design patterns handy, and kinda wish-they-were-in-the-stdlib ones. especially those dealing with mundane but useful things. It also runs on PyPy, and most of it runs on Windows (the part not dealing with forking processes, you see).
It’s basically the stuff-I-wish-was-inside-Python-standard-library of piotrmaslanka.
Satella uses semantic versioning 2.0 for your convenience.
I believe you’ve already covered project’s primary README at GitHub. If not, please indulge.
- Configuration schema validation
- Configuration sources
- Context managers
Context
- Functions and decorators
expect_exception
enum_value()
contains()
class_or_instancemethod
chain_callables()
source_to_function()
call_with_arguments()
replace_argument_if()
get_arguments()
queue_iterator()
update_key_if_not_none()
update_key_if_true()
update_attr_if_none()
merge_dicts()
static_var()
silence_excs()
log_exceptions
rethrow_as
reraise_as
catch_exception()
raises_exception()
- Wrapping classes with something
- Function overloading
- DocsFromParent
- CopyDocsFrom
- metaclass_maker
- Deep comparison
- Futures
- Structures
NotEqualToAnything
Vector
- SetZip
- PushIterable
- SyncableDroppable
- SparseMatrix
- Heap
- SetHeap
- TimeBasedHeap
- TimeBasedSetHeap
- OnStrOnlyName
- HashableMixin
- ComparableAndHashableByInt
- OmniHashableMixin
- ComparableAndHashableBy
- StrEqHashableMixin
- ReprableMixin
- ComparableEnum
- HashableIntEnum
- ComparableIntEnum
- Immutable
- Singleton
- SingletonWithRegardsTo
- DefaultDict
- CountingDict
- LRU
- ExclusiveWritebackCache
- DictObject
- frozendict
- DictionaryView
- CacheDict
- LRUCacheDict
- SelfCleaningDefaultDict
- ExpiringEntryDict
- TwoWayDictionary
- DirtyDict
- KeyAwareDefaultDict
- typednamedtuple
- HashableWrapper
- Ranking
- SortedList
- SliceableDeque
- Proxy
- Subqueue
- Closeable
- Decorators
execute_if_attribute_none()
execute_if_attribute_not_none()
transform_result()
transform_arguments()
retry()
memoize()
call_method_on_exception()
cache_memoize()
queue_get()
copy_arguments()
loop_while()
repeat_forever()
for_argument()
chain_functions()
auto_adapt_to_methods()
attach_arguments()
wraps()
execute_before()
return_as_list()
default_return()
- Preconditions and postconditions
- Predicates
- Concurrent data structures
- Sequences and iterators
- Rudimentary data transforms and algorithms
- Typing
- Tainting
- CPU time
- Traceback
- Memory pressure
- Metrics
- Exception handling
- DAO
- Python DB API 2
- JSON
- OS-specifics
- Import
- File management routines
- random
- Time
- Exceptions and warnings
- processes
- Cassandra
- OpenTracing