sdk-seshat-python 0.4.6__tar.gz → 0.5.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/PKG-INFO +18 -17
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/pyproject.toml +21 -20
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/__init__.py +23 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/data_class/base.py +11 -3
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/data_class/pandas.py +5 -1
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/data_class/pyspark.py +18 -0
- sdk_seshat_python-0.5.3/seshat/general/command/generate_story.py +38 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/config.py +0 -1
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/template/env-templ +0 -1
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/template/recommender.py-tmpl +1 -6
- sdk_seshat_python-0.5.3/seshat/general/transformer_story/base.py +448 -0
- sdk_seshat_python-0.5.3/seshat/general/transformer_story/challenges.py +129 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/profiler/base.py +7 -1
- sdk_seshat_python-0.5.3/seshat/source/api/base.py +150 -0
- sdk_seshat_python-0.5.3/seshat/source/api/scrape.py +71 -0
- sdk_seshat_python-0.5.3/seshat/source/base.py +100 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/database/base.py +7 -3
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/exceptions.py +6 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/local/base.py +16 -3
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/saver/base.py +7 -4
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/saver/database.py +4 -1
- sdk_seshat_python-0.5.3/seshat/transformer/aggregator/__init__.py +2 -0
- sdk_seshat_python-0.5.3/seshat/transformer/aggregator/base.py +10 -0
- sdk_seshat_python-0.4.6/seshat/transformer/aggregator/base.py → sdk_seshat_python-0.5.3/seshat/transformer/aggregator/field.py +40 -14
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/__init__.py +27 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/base.py +12 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/branch_classifier.py +160 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/changing_over_time.py +143 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/comprehensive_features.py +111 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/date_time_type.py +27 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/duplicated_sframe.py +56 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/feature_for_address.py +192 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/fraction.py +102 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/group_by_deriver_count.py +55 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/group_by_deriver_mean_max.py +61 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/group_by_time_window.py +94 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/interacted_symbols_to_sentence.py +273 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/one_column_percentile_filter.py +54 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/operation_on_cols.py +132 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/percentile_transaction_value.py +125 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/product_sum.py +88 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/profit_loss.py +223 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/rank.py +87 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/sender_receiver_tokens.py +134 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/sframe_from_cols.py +65 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/shift.py +142 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/static_value_column_adder.py +98 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/tagger.py +122 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/token_feature_transformation.py +93 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/token_last_price.py +132 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/token_price.py +82 -0
- sdk_seshat_python-0.5.3/seshat/transformer/deriver/token_swap_trade.py +141 -0
- sdk_seshat_python-0.5.3/seshat/transformer/imputer/__init__.py +2 -0
- sdk_seshat_python-0.5.3/seshat/transformer/imputer/base.py +10 -0
- sdk_seshat_python-0.5.3/seshat/transformer/imputer/nan.py +96 -0
- sdk_seshat_python-0.5.3/seshat/transformer/merger/__init__.py +5 -0
- sdk_seshat_python-0.5.3/seshat/transformer/merger/base.py +6 -0
- sdk_seshat_python-0.4.6/seshat/transformer/merger/base.py → sdk_seshat_python-0.5.3/seshat/transformer/merger/common.py +44 -80
- sdk_seshat_python-0.5.3/seshat/transformer/merger/list.py +138 -0
- sdk_seshat_python-0.5.3/seshat/transformer/merger/multi.py +70 -0
- sdk_seshat_python-0.5.3/seshat/transformer/merger/nested_key.py +148 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/pipeline/base.py +40 -4
- sdk_seshat_python-0.5.3/seshat/transformer/pipeline/branch.py +279 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/pipeline/recommendation/address_pipeline.py +5 -5
- sdk_seshat_python-0.5.3/seshat/transformer/pseudo/table_existence.py +46 -0
- sdk_seshat_python-0.5.3/seshat/transformer/reducer/__init__.py +2 -0
- sdk_seshat_python-0.5.3/seshat/transformer/reducer/base.py +12 -0
- sdk_seshat_python-0.4.6/seshat/transformer/reducer/base.py → sdk_seshat_python-0.5.3/seshat/transformer/reducer/llm_insight.py +85 -23
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/schema/base.py +51 -1
- sdk_seshat_python-0.5.3/seshat/transformer/splitter/__init__.py +4 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/splitter/base.py +12 -29
- sdk_seshat_python-0.5.3/seshat/transformer/splitter/block/base.py +116 -0
- sdk_seshat_python-0.5.3/seshat/transformer/splitter/multi.py +89 -0
- sdk_seshat_python-0.5.3/seshat/transformer/splitter/random/base.py +83 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/__init__.py +10 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/base.py +17 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/change_column_name.py +25 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/contract.py +103 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/duplicate.py +56 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/feature.py +58 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/filter.py +152 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/group.py +58 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/inclusion.py +98 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/low_transaction.py +131 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/nan.py +47 -0
- sdk_seshat_python-0.5.3/seshat/transformer/trimmer/zero_address.py +65 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/vectorizer/cosine_similarity.py +127 -19
- sdk_seshat_python-0.5.3/seshat/transformer/vectorizer/pivot.py +179 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/vectorizer/utils.py +2 -2
- sdk_seshat_python-0.5.3/seshat/utils/analyze_method_call.py +51 -0
- sdk_seshat_python-0.5.3/seshat/utils/find_classes.py +24 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/llm_client/chatbot_factory.py +23 -60
- sdk_seshat_python-0.5.3/seshat/utils/llm_client/clients/aws.py +35 -0
- sdk_seshat_python-0.5.3/seshat/utils/llm_client/clients/google.py +39 -0
- sdk_seshat_python-0.5.3/seshat/utils/llm_client/clients/openai.py +25 -0
- sdk_seshat_python-0.5.3/seshat/utils/llm_client/clients/proxy.py +211 -0
- sdk_seshat_python-0.5.3/seshat/utils/llm_client/llm_provider.py +8 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/logging/__init__.py +1 -1
- sdk_seshat_python-0.4.6/seshat/source/base.py +0 -49
- sdk_seshat_python-0.4.6/seshat/source/flip_side/__init__.py +0 -1
- sdk_seshat_python-0.4.6/seshat/source/flip_side/base.py +0 -259
- sdk_seshat_python-0.4.6/seshat/transformer/deriver/__init__.py +0 -26
- sdk_seshat_python-0.4.6/seshat/transformer/deriver/base.py +0 -2197
- sdk_seshat_python-0.4.6/seshat/transformer/imputer/base.py +0 -57
- sdk_seshat_python-0.4.6/seshat/transformer/merger/__init__.py +0 -2
- sdk_seshat_python-0.4.6/seshat/transformer/merger/nested_key.py +0 -79
- sdk_seshat_python-0.4.6/seshat/transformer/pipeline/branch.py +0 -177
- sdk_seshat_python-0.4.6/seshat/transformer/pseudo/table_existence.py +0 -26
- sdk_seshat_python-0.4.6/seshat/transformer/splitter/__init__.py +0 -1
- sdk_seshat_python-0.4.6/seshat/transformer/splitter/block/base.py +0 -39
- sdk_seshat_python-0.4.6/seshat/transformer/splitter/random/base.py +0 -28
- sdk_seshat_python-0.4.6/seshat/transformer/trimmer/__init__.py +0 -6
- sdk_seshat_python-0.4.6/seshat/transformer/trimmer/base.py +0 -497
- sdk_seshat_python-0.4.6/seshat/transformer/vectorizer/pivot.py +0 -118
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/LICENSE +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/README.md +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/__main__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/data_class/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/general/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/general/classification.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/general/clustering.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/general/regression.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/recommendation/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/recommendation/diversity.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/evaluation/evaluator/recommendation/ranking.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/feature_view/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/feature_view/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/command/__init__.py +1 -1
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/command/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/command/code_inspect.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/command/job_status.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/command/setup_project.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/command/submit_to_network.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/exceptions.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/lazy_config.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/models.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/template/README.md-tmpl +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/template/config.py-tmpl +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/template/jobignore-tmpl +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/template/pyproject._toml-tmpl +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/template/recommender-jupyter.ipynb-tmpl +0 -0
- {sdk_seshat_python-0.4.6/seshat/transformer/aggregator → sdk_seshat_python-0.5.3/seshat/general/transformer_story}/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/profiler/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/profiler/decorator.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/profiler/format.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/__init__.py +0 -0
- {sdk_seshat_python-0.4.6/seshat/transformer/augmenter → sdk_seshat_python-0.5.3/seshat/source/api}/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/database/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/local/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/mixins.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/multisource/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/multisource/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/saver/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/saver/utils/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/source/saver/utils/postgres.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/__init__.py +0 -0
- {sdk_seshat_python-0.4.6/seshat/transformer/imputer → sdk_seshat_python-0.5.3/seshat/transformer/augmenter}/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/augmenter/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/deriver/from_database.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/pipeline/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/pipeline/recommendation/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/pseudo/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/pseudo/action_gate.py +0 -0
- {sdk_seshat_python-0.4.6/seshat/transformer/reducer → sdk_seshat_python-0.5.3/seshat/transformer/scaler}/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/scaler/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/schema/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/splitter/block/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/splitter/random/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/splitter/time_line/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/splitter/time_line/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/vectorizer/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/transformer/vectorizer/base.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/batcher.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/binary_utils.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/clean_json.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/col_to_list.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/contracts.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/date_utils.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/file.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/file_cryptography.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/filter_json.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/grouper.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/jobignore.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/join_columns_to_list.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/join_str.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/llm_client/__init__.py +0 -0
- {sdk_seshat_python-0.4.6/seshat/transformer/scaler → sdk_seshat_python-0.5.3/seshat/utils/llm_client/clients}/__init__.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/logging/base_logger.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/logging/console_logger.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/logging/logstash_logger.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/logging/multi_logger.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/memory.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/mixin.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/obfuscate.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/package_utils.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/pandas_func.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/patching.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/pyspark_func.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/rest.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/singleton.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/validation.py +0 -0
- {sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/utils/zip_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sdk-seshat-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.3
|
|
4
4
|
Summary: Seshat python SDK is a library to help create ML data pipelines.
|
|
5
5
|
License: Commercial - see LICENSE.txt
|
|
6
6
|
Author: SeshatLabs
|
|
@@ -9,35 +9,36 @@ Requires-Python: >=3.11,<4.0
|
|
|
9
9
|
Classifier: License :: Other/Proprietary License
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
-
Provides-Extra: flipside-support
|
|
13
|
-
Provides-Extra: postgres-support
|
|
14
12
|
Requires-Dist: backoff (>=2.2.1,<3.0.0)
|
|
13
|
+
Requires-Dist: beautifulsoup4 (>=4.14.3,<5.0.0)
|
|
15
14
|
Requires-Dist: bokeh (>=3.6.0,<4.0.0)
|
|
16
|
-
Requires-Dist: boto3 (
|
|
15
|
+
Requires-Dist: boto3 (==1.40.51)
|
|
17
16
|
Requires-Dist: croniter (>=6.0.0,<7.0.0)
|
|
18
|
-
Requires-Dist: cryptography (
|
|
17
|
+
Requires-Dist: cryptography (==46.0.2)
|
|
19
18
|
Requires-Dist: dask[array,complete,dataframe,distributed] (>=2024.10.0,<2025.0.0)
|
|
20
|
-
Requires-Dist:
|
|
21
|
-
Requires-Dist: langchain (
|
|
22
|
-
Requires-Dist: langchain-aws (
|
|
23
|
-
Requires-Dist: langchain-community (
|
|
24
|
-
Requires-Dist: langchain-
|
|
19
|
+
Requires-Dist: google-cloud-aiplatform (>=1.120.0,<2.0.0)
|
|
20
|
+
Requires-Dist: langchain (==0.3.27)
|
|
21
|
+
Requires-Dist: langchain-aws (==0.2.35)
|
|
22
|
+
Requires-Dist: langchain-community (==0.3.31)
|
|
23
|
+
Requires-Dist: langchain-google-vertexai (>=2.1.2,<3.0.0)
|
|
24
|
+
Requires-Dist: langchain-openai (==0.3.35)
|
|
25
25
|
Requires-Dist: loguru (>=0.7.3,<0.8.0)
|
|
26
26
|
Requires-Dist: memory-profiler (>=0.61.0,<0.62.0)
|
|
27
|
-
Requires-Dist: openai (
|
|
27
|
+
Requires-Dist: openai (==2.3.0)
|
|
28
28
|
Requires-Dist: pandas (>=2.2.1,<3.0.0)
|
|
29
|
-
Requires-Dist: psycopg2-binary (
|
|
30
|
-
Requires-Dist: pyarmor (>=
|
|
31
|
-
Requires-Dist: pydantic (
|
|
29
|
+
Requires-Dist: psycopg2-binary (==2.9.11)
|
|
30
|
+
Requires-Dist: pyarmor (>=9.1.9,<10.0.0)
|
|
31
|
+
Requires-Dist: pydantic (==2.12.1)
|
|
32
32
|
Requires-Dist: pyspark (>=3.5.1,<4.0.0)
|
|
33
33
|
Requires-Dist: python-logstash-async (>=4.0.2,<5.0.0)
|
|
34
|
-
Requires-Dist: requests (==2.32.
|
|
35
|
-
Requires-Dist: rich (
|
|
34
|
+
Requires-Dist: requests (==2.32.5)
|
|
35
|
+
Requires-Dist: rich (==14.2.0)
|
|
36
36
|
Requires-Dist: scikit-learn (>=1.4.1.post1,<2.0.0)
|
|
37
37
|
Requires-Dist: setuptools (>=80.9.0,<81.0.0)
|
|
38
|
+
Requires-Dist: simplejson (>=3.20.2,<4.0.0)
|
|
38
39
|
Requires-Dist: sqlalchemy (>=2.0.29,<3.0.0)
|
|
39
40
|
Requires-Dist: toml (>=0.10.2,<0.11.0)
|
|
40
|
-
Requires-Dist: typer (>=0.
|
|
41
|
+
Requires-Dist: typer (>=0.19.2,<0.20.0)
|
|
41
42
|
Description-Content-Type: text/markdown
|
|
42
43
|
|
|
43
44
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "sdk-seshat-python"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.5.3"
|
|
4
4
|
description = "Seshat python SDK is a library to help create ML data pipelines."
|
|
5
|
-
authors =
|
|
5
|
+
authors = ["SeshatLabs <info@seshatlabs.xyz>"]
|
|
6
6
|
packages = [{ include = "seshat", from = "." }]
|
|
7
7
|
readme = "README.md"
|
|
8
8
|
license = "Commercial - see LICENSE.txt"
|
|
@@ -13,40 +13,41 @@ python = "^3.11"
|
|
|
13
13
|
pandas = "^2.2.1"
|
|
14
14
|
scikit-learn = "^1.4.1.post1"
|
|
15
15
|
pyspark = "^3.5.1"
|
|
16
|
-
flipside = "^2.1.0"
|
|
17
16
|
sqlalchemy = "^2.0.29"
|
|
18
17
|
memory-profiler = "^0.61.0"
|
|
19
|
-
typer = "^0.
|
|
20
|
-
dask = {extras = ["array", "complete", "dataframe", "distributed"], version = "^2024.10.0"}
|
|
18
|
+
typer = "^0.19.2"
|
|
19
|
+
dask = { extras = ["array", "complete", "dataframe", "distributed"], version = "^2024.10.0" }
|
|
21
20
|
bokeh = "^3.6.0"
|
|
22
21
|
toml = "^0.10.2"
|
|
23
|
-
rich = "
|
|
24
|
-
boto3 = "
|
|
25
|
-
requests = "2.32.
|
|
22
|
+
rich = "14.2.0"
|
|
23
|
+
boto3 = "1.40.51"
|
|
24
|
+
requests = "2.32.5"
|
|
26
25
|
backoff = "^2.2.1"
|
|
27
|
-
cryptography = "
|
|
26
|
+
cryptography = "46.0.2"
|
|
28
27
|
loguru = "^0.7.3"
|
|
29
|
-
openai = "
|
|
30
|
-
pydantic = "
|
|
31
|
-
langchain = "
|
|
32
|
-
langchain-community = "
|
|
33
|
-
langchain-openai = "
|
|
34
|
-
pyarmor = "^
|
|
28
|
+
openai = "2.3.0"
|
|
29
|
+
pydantic = "2.12.1"
|
|
30
|
+
langchain = "0.3.27"
|
|
31
|
+
langchain-community = "0.3.31"
|
|
32
|
+
langchain-openai = "0.3.35"
|
|
33
|
+
pyarmor = "^9.1.9"
|
|
35
34
|
python-logstash-async = "^4.0.2"
|
|
36
35
|
croniter = "^6.0.0"
|
|
37
|
-
psycopg2-binary =
|
|
36
|
+
psycopg2-binary = "2.9.11"
|
|
38
37
|
setuptools = "^80.9.0"
|
|
39
|
-
langchain-aws = "
|
|
38
|
+
langchain-aws = "0.2.35"
|
|
39
|
+
langchain-google-vertexai = "^2.1.2"
|
|
40
|
+
google-cloud-aiplatform = "^1.120.0"
|
|
41
|
+
simplejson = "^3.20.2"
|
|
42
|
+
beautifulsoup4 = "^4.14.3"
|
|
40
43
|
|
|
41
|
-
[tool.poetry.extras]
|
|
42
|
-
flipside_support = ["flipside"]
|
|
43
|
-
postgres_support = ["psycopg2-binary"]
|
|
44
44
|
|
|
45
45
|
[tool.poetry.group.dev.dependencies]
|
|
46
46
|
flake8 = "^7.0.0"
|
|
47
47
|
black = "^24.3.0"
|
|
48
48
|
pre-commit = "^3.7.0"
|
|
49
49
|
pytest = "^8.3.4"
|
|
50
|
+
pytest-xdist = "^3.8.0"
|
|
50
51
|
|
|
51
52
|
[build-system]
|
|
52
53
|
requires = ["poetry-core>=1.0.0"]
|
|
@@ -6,6 +6,7 @@ import typer
|
|
|
6
6
|
from rich.console import Console
|
|
7
7
|
from rich.table import Table
|
|
8
8
|
|
|
9
|
+
from seshat.general.command import SubmitCommand
|
|
9
10
|
from seshat.general.command import (
|
|
10
11
|
SubmitCommand,
|
|
11
12
|
JobMetadata,
|
|
@@ -13,6 +14,7 @@ from seshat.general.command import (
|
|
|
13
14
|
ExecutionMode,
|
|
14
15
|
)
|
|
15
16
|
from seshat.general.command.code_inspect import CodeInspectCommand
|
|
17
|
+
from seshat.general.command.generate_story import GenerateStoryCommand
|
|
16
18
|
from seshat.general.command.job_status import JobStatusCommand
|
|
17
19
|
from seshat.general.command.setup_project import RECOMMENDATION, SetUpProjectCommand
|
|
18
20
|
from seshat.general.exceptions import NoConfigSetError, RestClientException
|
|
@@ -430,6 +432,27 @@ def job_status(
|
|
|
430
432
|
raise typer.Exit(1)
|
|
431
433
|
|
|
432
434
|
|
|
435
|
+
@app.command(name="generate-story")
|
|
436
|
+
def generate_story(
|
|
437
|
+
file_path: Path = typer.Option(
|
|
438
|
+
None,
|
|
439
|
+
"--file",
|
|
440
|
+
"-f",
|
|
441
|
+
help="Path to output story.json file (default: ./story.json)",
|
|
442
|
+
)
|
|
443
|
+
):
|
|
444
|
+
result = GenerateStoryCommand().generate()
|
|
445
|
+
if file_path is None:
|
|
446
|
+
file_path = Path("story.json")
|
|
447
|
+
try:
|
|
448
|
+
with open(file_path, "w") as f:
|
|
449
|
+
f.write(result)
|
|
450
|
+
typer.echo(f"Story written to {file_path}")
|
|
451
|
+
except Exception as e:
|
|
452
|
+
typer.echo(f"Failed to write story to {file_path}: {e}", err=True)
|
|
453
|
+
raise typer.Exit(1)
|
|
454
|
+
|
|
455
|
+
|
|
433
456
|
@app.callback()
|
|
434
457
|
def main(verbose: bool = False):
|
|
435
458
|
state["verbose"] = verbose
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import copy
|
|
2
|
-
from typing import Dict, Iterable, Type, List
|
|
2
|
+
from typing import Dict, Iterable, Type, List, Any
|
|
3
3
|
|
|
4
4
|
from seshat.general import configs
|
|
5
5
|
from seshat.general.exceptions import (
|
|
@@ -43,10 +43,14 @@ class SFrame:
|
|
|
43
43
|
def __deepcopy__(self, memo):
|
|
44
44
|
return type(self)(copy.deepcopy(self.data, memo))
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
@property
|
|
47
|
+
def empty(self, default_key=configs.DEFAULT_SF_KEY):
|
|
48
|
+
pass
|
|
49
|
+
|
|
50
|
+
def to_raw(self) -> Any:
|
|
47
51
|
return self.data
|
|
48
52
|
|
|
49
|
-
def set_raw(self, key: str, data:
|
|
53
|
+
def set_raw(self, key: str, data: Any):
|
|
50
54
|
self.data = data
|
|
51
55
|
|
|
52
56
|
def get(self, key: str) -> "SFrame":
|
|
@@ -185,6 +189,10 @@ class GroupSFrame(SFrame):
|
|
|
185
189
|
def __deepcopy__(self, memo):
|
|
186
190
|
return type(self)(copy.deepcopy(self.children, memo), self.sframe_class)
|
|
187
191
|
|
|
192
|
+
@property
|
|
193
|
+
def empty(self, default_key=configs.DEFAULT_SF_KEY):
|
|
194
|
+
return self[default_key].empty()
|
|
195
|
+
|
|
188
196
|
def to_raw(self) -> Dict[str, object]:
|
|
189
197
|
raw = {}
|
|
190
198
|
for key, sf in self.children.items():
|
|
@@ -14,6 +14,10 @@ class DFrame(SFrame):
|
|
|
14
14
|
frame_name = "df"
|
|
15
15
|
data: DataFrame
|
|
16
16
|
|
|
17
|
+
@property
|
|
18
|
+
def empty(self, default_key=configs.DEFAULT_SF_KEY):
|
|
19
|
+
return self.data.empty
|
|
20
|
+
|
|
17
21
|
def make_group(self, default_key=configs.DEFAULT_SF_KEY):
|
|
18
22
|
return GroupSFrame({default_key: self}, sframe_class=self.__class__)
|
|
19
23
|
|
|
@@ -37,7 +41,7 @@ class DFrame(SFrame):
|
|
|
37
41
|
|
|
38
42
|
def extend_vertically(self, other: DataFrame):
|
|
39
43
|
super().extend_vertically(other)
|
|
40
|
-
self.data = pd.concat([self.data, other], axis=0)
|
|
44
|
+
self.data = pd.concat([self.data, other], axis=0).reset_index(drop=True)
|
|
41
45
|
|
|
42
46
|
def extend_horizontally(
|
|
43
47
|
self, other: DataFrame, on: str, left_on: str, right_on: str, how: str
|
|
@@ -3,6 +3,7 @@ from typing import Dict, Iterable, List
|
|
|
3
3
|
from pandas import DataFrame
|
|
4
4
|
from pyspark.sql import DataFrame as PySparkDataFrame
|
|
5
5
|
from pyspark.sql import SparkSession
|
|
6
|
+
from pyspark.sql import functions as F
|
|
6
7
|
|
|
7
8
|
from seshat.data_class import DFrame, SFrame
|
|
8
9
|
from seshat.data_class.base import GroupSFrame
|
|
@@ -13,6 +14,10 @@ class SPFrame(SFrame):
|
|
|
13
14
|
frame_name = "spf"
|
|
14
15
|
data: PySparkDataFrame
|
|
15
16
|
|
|
17
|
+
@property
|
|
18
|
+
def empty(self, default_key=configs.DEFAULT_SF_KEY):
|
|
19
|
+
return self.data.isEmpty()
|
|
20
|
+
|
|
16
21
|
def make_group(self, default_key=configs.DEFAULT_SF_KEY):
|
|
17
22
|
return GroupSFrame({default_key: self}, sframe_class=self.__class__)
|
|
18
23
|
|
|
@@ -34,6 +39,19 @@ class SPFrame(SFrame):
|
|
|
34
39
|
|
|
35
40
|
def extend_vertically(self, other: PySparkDataFrame):
|
|
36
41
|
super().extend_vertically(other)
|
|
42
|
+
# Get all columns from both DataFrames
|
|
43
|
+
self_cols = set(self.data.columns)
|
|
44
|
+
other_cols = set(other.columns)
|
|
45
|
+
|
|
46
|
+
# Add missing columns to self.data
|
|
47
|
+
for col in other_cols - self_cols:
|
|
48
|
+
self.data = self.data.withColumn(col, F.lit(None).cast("string"))
|
|
49
|
+
|
|
50
|
+
# Add missing columns to other
|
|
51
|
+
for col in self_cols - other_cols:
|
|
52
|
+
other = other.withColumn(col, F.lit(None).cast("string"))
|
|
53
|
+
|
|
54
|
+
# Ensure column order matches
|
|
37
55
|
self.data = self.data.unionByName(other)
|
|
38
56
|
|
|
39
57
|
def extend_horizontally(
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from typing import Type
|
|
2
|
+
|
|
3
|
+
import simplejson as json
|
|
4
|
+
|
|
5
|
+
import seshat
|
|
6
|
+
from seshat.general.transformer_story.base import (
|
|
7
|
+
BaseTransformerStory,
|
|
8
|
+
BaseChallenge,
|
|
9
|
+
Describable,
|
|
10
|
+
)
|
|
11
|
+
from seshat.utils.find_classes import find_classes
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class GenerateStoryCommand:
|
|
15
|
+
def generate(self):
|
|
16
|
+
return json.dumps(
|
|
17
|
+
{
|
|
18
|
+
"transformers": self.get_doc(BaseTransformerStory),
|
|
19
|
+
"challenges": self.get_doc(BaseChallenge),
|
|
20
|
+
},
|
|
21
|
+
indent=4,
|
|
22
|
+
default=str,
|
|
23
|
+
ignore_nan=True,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
def get_doc(self, target: Type[Describable]):
|
|
27
|
+
docs = []
|
|
28
|
+
for d in find_classes(seshat, target):
|
|
29
|
+
try:
|
|
30
|
+
docs.append(d().generate_doc())
|
|
31
|
+
except Exception:
|
|
32
|
+
import traceback
|
|
33
|
+
|
|
34
|
+
print(f"ERROR generating doc for {d}:")
|
|
35
|
+
print(f" Class: {d}")
|
|
36
|
+
traceback.print_exc()
|
|
37
|
+
raise
|
|
38
|
+
return docs
|
|
@@ -11,7 +11,6 @@ TOKEN_PRICE_COL = "token_price"
|
|
|
11
11
|
BLOCK_NUM_COL = "block_number"
|
|
12
12
|
BLOCK_TIMESTAMP_COL = "block_timestamp"
|
|
13
13
|
DURATION_LABEL_COL = "duration"
|
|
14
|
-
FLIPSIDE_URL = "https://api-v2.flipsidecrypto.xyz"
|
|
15
14
|
DEFAULT_SOURCE_STORE = "./data/source_save/"
|
|
16
15
|
STORE_SIZE_CHECKPOINT = 41943040
|
|
17
16
|
DEFAULT_SF_KEY = "default"
|
{sdk_seshat_python-0.4.6 → sdk_seshat_python-0.5.3}/seshat/general/template/recommender.py-tmpl
RENAMED
|
@@ -20,15 +20,10 @@ class TokenRecommendationView(FeatureView):
|
|
|
20
20
|
schema=Schema([Col("some_column", "new_name"), Col("another_col")]),
|
|
21
21
|
)
|
|
22
22
|
online_source = ...
|
|
23
|
-
# The source can be local, database
|
|
23
|
+
# The source can be local, database or else.
|
|
24
24
|
# for local source, you can use current defined and for
|
|
25
25
|
# sql database source:
|
|
26
26
|
# SQLDBSource(url=DB_URL, table_name="your_table_name")
|
|
27
|
-
# if you need retrieve data from flipside use this:
|
|
28
|
-
# FlipSideSource(
|
|
29
|
-
# api_key=os.getenv("FLIPSIDE_API_KEY"),
|
|
30
|
-
# filters={"BLOCK_NUMBER": {"val": 19710819, "op": ">="}, },
|
|
31
|
-
# )
|
|
32
27
|
|
|
33
28
|
offline_pipeline = Pipeline(pipes=[])
|
|
34
29
|
online_pipeline = Pipeline(pipes=[])
|