genesis-flow 1.0.0__py3-none-any.whl → 1.0.1__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: genesis-flow
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: Genesis-Flow: Lightweight, secure MLflow fork for Genesis platform
5
5
  Maintainer-email: Databricks <mlflow-oss-maintainers@googlegroups.com>
6
6
  License: Copyright 2018 Databricks, Inc. All rights reserved.
@@ -761,6 +761,32 @@ pre-commit install
761
761
 
762
762
  # Run tests
763
763
  pytest tests/
764
+
765
+ # 1. Install build tools
766
+ pip install build twine
767
+
768
+ # 2. Build the package
769
+ python -m build
770
+
771
+ # 3. Upload to PyPI
772
+ python -m twine upload dist/*
773
+
774
+ # Or upload to TestPyPI first
775
+ python -m twine upload --repository testpypi dist/*
776
+
777
+ Before uploading, make sure you have:
778
+ - A PyPI account and API token
779
+ - Configure your credentials in ~/.pypirc:
780
+
781
+ [pypi]
782
+ username = __token__
783
+ password = pypi-<your-token>
784
+
785
+ [testpypi]
786
+ repository = https://test.pypi.org/legacy/
787
+ username = __token__
788
+ password = pypi-<your-token>
789
+
764
790
  ```
765
791
 
766
792
  ### Code Quality
@@ -1,4 +1,4 @@
1
- genesis_flow-1.0.0.dist-info/licenses/LICENSE.txt,sha256=Y5U1Xebzka__NZlqMPtBsYm0mRpMtUmTrONatpoL-ig,11382
1
+ genesis_flow-1.0.1.dist-info/licenses/LICENSE.txt,sha256=Y5U1Xebzka__NZlqMPtBsYm0mRpMtUmTrONatpoL-ig,11382
2
2
  mlflow/__init__.py,sha256=-_r__N5Afed81pLVtr2wKbHQIA0aj9u9n_7kWGxLWi4,11194
3
3
  mlflow/__main__.py,sha256=_PcdoxKehR_a2MI6GqBfzYzRCXZhVyDCSdbxDWVlWd4,39
4
4
  mlflow/cli.py,sha256=f1ObrWZ03HgRiRoVEE1Gffe-dGcSY7CxJyEFgb5VUMM,26137
@@ -610,7 +610,7 @@ mlflow/utils/requirements_utils.py,sha256=79BL9iFqg9H4VRYiqk-gTLlrfLyUY7KVG4BDV8
610
610
  mlflow/utils/rest_utils.py,sha256=yLeFOP135qV2OFcvtb_fFtj18MATRoxV4wJ5UshnEyk,26540
611
611
  mlflow/utils/search_logged_model_utils.py,sha256=JWczQxogo4u9Gr3gfoSVf7tVny1e-rxfAchh3Vqy6RU,4289
612
612
  mlflow/utils/search_utils.py,sha256=PgXtwlViHvmahY63otykh5iJVW0PR9DIwetrvCCBw2U,86142
613
- mlflow/utils/secure_loading.py,sha256=WCh8NC_gwrqEjkXE1_YTGY525pOHRIOYn0Dq1luhB8A,7983
613
+ mlflow/utils/secure_loading.py,sha256=yJpKwrhzINmo0yVdp6fXvbNkZu_HEdwyB8deljGDXxk,10095
614
614
  mlflow/utils/security_validation.py,sha256=cLBrLNOoVJuAffO677v0m_v4i-01v7aLk-sJk87mpkQ,12830
615
615
  mlflow/utils/server_cli_utils.py,sha256=gbT5CVkOLorSw-y8bnNSBEP9mClcVTagtTN5SK5Azhw,2381
616
616
  mlflow/utils/spark_utils.py,sha256=zUbQIRAtwyU3rDJK8m7v42KO2TSGn28Coe_UYBEhIWA,395
@@ -638,8 +638,8 @@ mlflow/utils/autologging_utils/metrics_queue.py,sha256=bwpMX7Go6xFxrpYROi6rDBdVt
638
638
  mlflow/utils/autologging_utils/safety.py,sha256=IwbTbusyE87Hc4qkhhvMikoaZqX9kpr972FWS2B8goc,51465
639
639
  mlflow/utils/autologging_utils/versioning.py,sha256=2hSN4KXFWEJCcopDdLG6BiPeqSoqjETeNMuUBsCCwlI,3762
640
640
  mlflow/utils/import_hooks/__init__.py,sha256=werje98Woelkbwrhtlb8wmRdt3RtiL--LqGru7Xh3YU,13589
641
- genesis_flow-1.0.0.dist-info/METADATA,sha256=D9XGiux4DI1WK3PrJNo2y4jdco5QfBUgVx8tGaQJ8rc,32051
642
- genesis_flow-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
643
- genesis_flow-1.0.0.dist-info/entry_points.txt,sha256=fwlE6mYWea9uCNIsmXdT5qMIOZ8rYbTvO6XcZR8fBbE,495
644
- genesis_flow-1.0.0.dist-info/top_level.txt,sha256=wm8UqYyUHI21EvrTDHb3eYICy0dOVDLBhAL-jp5zbuI,7
645
- genesis_flow-1.0.0.dist-info/RECORD,,
641
+ genesis_flow-1.0.1.dist-info/METADATA,sha256=QOs7W_wCIn4bYsjQVwLX8JE9zoW1dBO4rEJsf_qQmzU,32586
642
+ genesis_flow-1.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
643
+ genesis_flow-1.0.1.dist-info/entry_points.txt,sha256=fwlE6mYWea9uCNIsmXdT5qMIOZ8rYbTvO6XcZR8fBbE,495
644
+ genesis_flow-1.0.1.dist-info/top_level.txt,sha256=wm8UqYyUHI21EvrTDHb3eYICy0dOVDLBhAL-jp5zbuI,7
645
+ genesis_flow-1.0.1.dist-info/RECORD,,
@@ -22,14 +22,14 @@ SAFE_PICKLE_CLASSES = {
22
22
  'numpy.dtype',
23
23
  'numpy.int32', 'numpy.int64', 'numpy.float32', 'numpy.float64',
24
24
  'numpy.bool_', 'numpy.str_',
25
-
25
+
26
26
  # Pandas types
27
27
  'pandas.core.frame.DataFrame',
28
28
  'pandas.core.series.Series',
29
29
  'pandas.core.index.Index',
30
30
  'pandas.core.dtypes.dtypes.CategoricalDtype',
31
-
32
- # Scikit-learn estimators (core models only)
31
+
32
+ # Scikit-learn estimators
33
33
  'sklearn.linear_model._base.LinearRegression',
34
34
  'sklearn.linear_model._logistic.LogisticRegression',
35
35
  'sklearn.ensemble._forest.RandomForestClassifier',
@@ -38,20 +38,74 @@ SAFE_PICKLE_CLASSES = {
38
38
  'sklearn.tree._classes.DecisionTreeRegressor',
39
39
  'sklearn.svm._classes.SVC',
40
40
  'sklearn.svm._classes.SVR',
41
-
42
- # Standard Python types
41
+
42
+ # Built-in types
43
43
  'builtins.dict', 'builtins.list', 'builtins.tuple', 'builtins.set',
44
44
  'builtins.str', 'builtins.int', 'builtins.float', 'builtins.bool',
45
-
45
+ 'builtins.type',
46
+
46
47
  # Collections
47
48
  'collections.OrderedDict',
48
49
  'collections.defaultdict',
49
-
50
- # Genesis-Flow internal types
50
+
51
+ # MLflow types
51
52
  'mlflow.models.signature.ModelSignature',
53
+ 'mlflow.models.signature._TypeHints',
52
54
  'mlflow.types.schema.Schema',
55
+ 'mlflow.pyfunc.model.PythonModel',
56
+
57
+ # Cloudpickle internals
58
+ 'cloudpickle.cloudpickle._make_skeleton_class',
59
+ 'cloudpickle.cloudpickle._class_setstate',
60
+ 'cloudpickle.cloudpickle._make_function',
61
+ 'cloudpickle.cloudpickle._builtin_type',
62
+ 'cloudpickle.cloudpickle._function_setstate',
63
+ 'cloudpickle.cloudpickle._make_empty_cell',
64
+ 'cloudpickle.cloudpickle._make_cell',
65
+
66
+ # Sentence Transformers
67
+ 'sentence_transformers.SentenceTransformer.SentenceTransformer',
68
+ 'sentence_transformers.model_card.SentenceTransformerModelCardData',
69
+ 'sentence_transformers.models.Transformer.Transformer',
70
+ 'sentence_transformers.models.Pooling.Pooling',
71
+ 'sentence_transformers.models.Normalize.Normalize',
72
+
73
+ # Torch
74
+ 'torch.torch_version.TorchVersion',
75
+ 'torch._utils._rebuild_tensor_v2',
76
+ 'torch.storage._load_from_bytes',
77
+ 'torch.nn.modules.sparse.Embedding',
78
+ 'torch._utils._rebuild_parameter',
79
+ 'torch.nn.modules.normalization.LayerNorm',
80
+ 'torch.nn.modules.dropout.Dropout',
81
+ 'torch.nn.modules.container.ModuleList',
82
+ 'torch.nn.modules.linear.Linear',
83
+ 'torch.nn.modules.activation.Tanh',
84
+ 'torch.float32',
85
+ 'torch._C._nn.gelu',
86
+
87
+ # Transformers
88
+ 'transformers.models.bert.modeling_bert.BertModel',
89
+ 'transformers.models.bert.modeling_bert.BertEmbeddings',
90
+ 'transformers.models.bert.modeling_bert.BertEncoder',
91
+ 'transformers.models.bert.modeling_bert.BertLayer',
92
+ 'transformers.models.bert.modeling_bert.BertAttention',
93
+ 'transformers.models.bert.modeling_bert.BertSdpaSelfAttention',
94
+ 'transformers.models.bert.modeling_bert.BertSelfOutput',
95
+ 'transformers.models.bert.modeling_bert.BertIntermediate',
96
+ 'transformers.models.bert.modeling_bert.BertOutput',
97
+ 'transformers.models.bert.modeling_bert.BertPooler',
98
+ 'transformers.models.bert.configuration_bert.BertConfig',
99
+ 'transformers.models.bert.tokenization_bert_fast.BertTokenizerFast',
100
+ 'transformers.activations.GELUActivation',
101
+
102
+ # Tokenizers
103
+ 'tokenizers.Tokenizer',
104
+ 'tokenizers.models.Model',
105
+ 'tokenizers.AddedToken',
53
106
  }
54
107
 
108
+
55
109
  class RestrictedUnpickler(pickle.Unpickler):
56
110
  """
57
111
  Secure unpickler that only allows safe, whitelisted classes.