maxframe 1.1.0__tar.gz → 1.1.1__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.
Potentially problematic release.
This version of maxframe might be problematic. Click here for more details.
- {maxframe-1.1.0 → maxframe-1.1.1}/PKG-INFO +25 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/config/__init__.py +1 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/config/config.py +23 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/read_odps_query.py +2 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/read_odps_table.py +4 -2
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/odpsio/__init__.py +1 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/odpsio/arrow.py +22 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/odpsio/tableio.py +57 -17
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/serializables/core.py +46 -10
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/merge/vstack.py +1 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/utils.py +6 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe.egg-info/PKG-INFO +25 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/fetcher.py +5 -6
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/session/odps.py +17 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/session/task.py +4 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/pyproject.toml +1 -1
- {maxframe-1.1.0 → maxframe-1.1.1}/MANIFEST.in +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/README.rst +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/_utils.pxd +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/_utils.pyx +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/codegen.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/config/validators.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/base.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/entity/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/entity/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/entity/executable.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/entity/objects.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/entity/output_types.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/entity/tileables.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/entity/utils.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/graph/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/graph/builder/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/graph/builder/base.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/graph/builder/tileable.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/graph/builder/utils.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/graph/core.pyx +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/graph/entity.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/mode.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/operator/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/operator/base.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/operator/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/operator/fetch.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/operator/objects.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/operator/shuffle.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/core/operator/utils.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/abs.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/add.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/arccos.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/arccosh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/arcsin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/arcsinh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/arctan.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/arctanh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/around.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/bitwise_and.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/bitwise_or.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/bitwise_xor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/ceil.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/cos.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/cosh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/degrees.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/docstring.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/exp.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/exp2.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/expm1.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/floor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/floordiv.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/greater.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/greater_equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/invert.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/is_ufuncs.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/less.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/less_equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/log.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/log10.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/log2.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/mod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/multiply.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/negative.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/not_equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/power.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/radians.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/sin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/sinh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/sqrt.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/subtract.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/tan.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/tanh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/truediv.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arithmetic/trunc.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/arrays.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/dataframe.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/date_range.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/from_index.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/from_records.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/from_tensor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/index.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/read_csv.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/read_parquet.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datasource/series.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datastore/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datastore/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datastore/to_csv.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/datastore/to_odps.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/extensions/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/extensions/accessor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/extensions/apply_chunk.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/extensions/flatjson.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/extensions/flatmap.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/extensions/reshuffle.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/fetch/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/fetch/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/aggregation.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/apply.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/cum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/fill.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/getitem.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/head.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/sample.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/groupby/transform.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/add_prefix_suffix.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/align.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/at.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/getitem.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/iat.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/iloc.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/insert.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/loc.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/reindex.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/rename.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/rename_axis.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/reset_index.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/sample.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/set_axis.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/set_index.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/setitem.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/indexing/where.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/initializer.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/merge/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/merge/append.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/merge/concat.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/merge/merge.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/_duplicate.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/accessor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/apply.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/astype.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/case_when.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/check_monotonic.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/cut.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/datetimes.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/describe.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/diff.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/drop.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/drop_duplicates.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/duplicated.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/eval.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/explode.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/get_dummies.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/isin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/map.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/melt.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/memory_usage.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/pct_change.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/pivot_table.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/qcut.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/select_dtypes.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/shift.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/stack.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/string_.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/to_numeric.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/transform.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/transpose.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/misc/value_counts.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/missing/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/missing/checkna.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/missing/dropna.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/missing/fillna.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/missing/replace.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/operators.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/plotting/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/plotting/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/aggregation.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/all.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/any.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/count.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/cummax.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/cummin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/cumprod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/cumsum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/custom_reduction.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/kurtosis.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/max.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/mean.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/median.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/min.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/nunique.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/prod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/reduction_size.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/sem.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/skew.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/std.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/str_concat.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/sum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/unique.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/reduction/var.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/sort/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/sort/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/sort/sort_index.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/sort/sort_values.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/statistics/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/statistics/corr.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/statistics/quantile.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/tseries/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/tseries/to_datetime.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/ufunc/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/ufunc/tensor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/ufunc/ufunc.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/utils.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/window/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/window/aggregation.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/window/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/window/ewm.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/window/expanding.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/dataframe/window/rolling.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/env.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/errors.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/extension.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/objects/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/objects/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/objects/tensor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/odpsio/schema.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/io/odpsio/volumeio.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/graph/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/graph/connected_components.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/llm/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/llm/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/llm/models/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/llm/models/dashscope.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/llm/multi_modal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/llm/text.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/pytorch/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/pytorch/run_function.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/pytorch/run_script.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/utils.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/xgboost/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/xgboost/classifier.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/xgboost/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/xgboost/dmatrix.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/xgboost/predict.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/xgboost/regressor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/contrib/xgboost/train.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/utils/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/learn/utils/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/aio/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/aio/_runners.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/aio/_threads.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/aio/base.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/aio/file.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/aio/isolation.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/aio/lru.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/aio/parallelism.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/compression.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/cython/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/cython/libcpp.pxd +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/_glob.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/_oss_lib/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/_oss_lib/common.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/_oss_lib/glob.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/_oss_lib/handle.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/arrow.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/base.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/fsmap.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/hdfs.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/local.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/filesystem/oss.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/functools_compat.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/mmh3.pyi +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/mmh3_src/MurmurHash3.cpp +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/mmh3_src/MurmurHash3.h +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/mmh3_src/mmh3module.cpp +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/sparse/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/sparse/array.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/sparse/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/sparse/matrix.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/sparse/vector.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/tblib/LICENSE +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/tblib/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/tblib/cpython.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/tblib/decorators.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/tblib/pickling_support.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/version.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/lib/wrapped_pickle.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/mixin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/opcodes.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/protocol.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/remote/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/remote/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/remote/run_script.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/arrow.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/core.pxd +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/core.pyi +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/core.pyx +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/exception.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/maxframe_objects.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/numpy.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/pandas.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/scipy.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/serializables/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/serializables/field.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/serialization/serializables/field_type.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/session.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/abs.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/absolute.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/add.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/angle.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/arccos.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/arccosh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/arcsin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/arcsinh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/arctan.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/arctan2.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/arctanh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/around.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/bitand.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/bitor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/bitxor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/cbrt.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/ceil.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/clip.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/conj.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/copysign.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/cos.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/cosh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/deg2rad.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/degrees.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/divide.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/exp.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/exp2.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/expm1.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/fabs.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/fix.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/float_power.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/floor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/floordiv.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/fmax.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/fmin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/fmod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/frexp.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/greater.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/greater_equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/hypot.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/i0.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/imag.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/invert.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/isclose.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/iscomplex.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/isfinite.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/isinf.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/isnan.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/isreal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/ldexp.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/less.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/less_equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/log.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/log10.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/log1p.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/log2.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/logaddexp.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/logaddexp2.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/logical_and.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/logical_not.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/logical_or.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/logical_xor.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/lshift.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/maximum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/minimum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/mod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/modf.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/multiply.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/nan_to_num.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/negative.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/nextafter.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/not_equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/positive.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/power.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/rad2deg.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/radians.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/real.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/reciprocal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/rint.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/rshift.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/setimag.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/setreal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/sign.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/signbit.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/sin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/sinc.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/sinh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/spacing.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/sqrt.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/square.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/subtract.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/tan.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/tanh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/truediv.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/trunc.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/arithmetic/utils.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/array_utils.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/arange.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/array.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/empty.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/from_dataframe.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/from_dense.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/from_sparse.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/full.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/ones.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/scalar.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/datasource/zeros.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/fetch/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/fetch/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/choose.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/compress.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/extract.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/fill_diagonal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/flatnonzero.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/getitem.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/nonzero.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/setitem.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/slice.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/take.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/indexing/unravel_index.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/merge/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/merge/concatenate.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/merge/stack.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/astype.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/atleast_1d.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/atleast_2d.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/atleast_3d.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/broadcast_to.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/ravel.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/transpose.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/unique.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/misc/where.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/operators.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/beta.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/binomial.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/bytes.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/chisquare.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/choice.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/dirichlet.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/exponential.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/f.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/gamma.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/geometric.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/gumbel.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/hypergeometric.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/laplace.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/logistic.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/lognormal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/logseries.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/multinomial.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/multivariate_normal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/negative_binomial.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/noncentral_chisquare.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/noncentral_f.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/normal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/pareto.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/permutation.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/poisson.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/power.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/rand.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/randint.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/randn.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/random_integers.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/random_sample.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/rayleigh.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/shuffle.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/standard_cauchy.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/standard_exponential.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/standard_gamma.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/standard_normal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/standard_t.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/triangular.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/uniform.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/vonmises.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/wald.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/weibull.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/random/zipf.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/rechunk/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/rechunk/rechunk.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/all.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/allclose.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/any.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/argmax.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/argmin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/array_equal.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/core.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/count_nonzero.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/cumprod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/cumsum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/max.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/mean.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/min.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nanargmax.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nanargmin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nancumprod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nancumsum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nanmax.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nanmean.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nanmin.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nanprod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nanstd.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nansum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/nanvar.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/prod.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/std.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/sum.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reduction/var.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reshape/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/reshape/reshape.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/statistics/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/statistics/percentile.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/statistics/quantile.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/ufunc/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/ufunc/ufunc.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/tensor/utils.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/typing_.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe/udf.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe.egg-info/SOURCES.txt +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe.egg-info/dependency_links.txt +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe.egg-info/requires.txt +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe.egg-info/top_level.txt +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/clients/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/clients/framedriver.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/session/__init__.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/session/consts.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/maxframe_client/session/graph.py +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/setup.cfg +0 -0
- {maxframe-1.1.0 → maxframe-1.1.1}/setup.py +0 -0
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: maxframe
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: MaxFrame operator-based data analyze framework
|
|
5
|
+
Requires-Dist: numpy<2.0.0,>=1.19.0
|
|
6
|
+
Requires-Dist: pandas>=1.0.0
|
|
7
|
+
Requires-Dist: pyodps>=0.12.0
|
|
8
|
+
Requires-Dist: scipy>=1.0
|
|
9
|
+
Requires-Dist: pyarrow>=1.0.0
|
|
10
|
+
Requires-Dist: msgpack>=1.0.0
|
|
11
|
+
Requires-Dist: traitlets>=5.0
|
|
12
|
+
Requires-Dist: cloudpickle<3.0.0,>=1.5.0
|
|
13
|
+
Requires-Dist: pyyaml>=5.1
|
|
14
|
+
Requires-Dist: pickle5; python_version < "3.8"
|
|
15
|
+
Requires-Dist: tornado>=6.0
|
|
16
|
+
Requires-Dist: defusedxml>=0.5.0
|
|
17
|
+
Requires-Dist: tqdm>=4.1.0
|
|
18
|
+
Requires-Dist: importlib_metadata>=1.4
|
|
5
19
|
Provides-Extra: dev
|
|
20
|
+
Requires-Dist: black>=22.3.0; extra == "dev"
|
|
21
|
+
Requires-Dist: flake8>=5.0.4; extra == "dev"
|
|
22
|
+
Requires-Dist: pre-commit>=2.15.0; extra == "dev"
|
|
23
|
+
Requires-Dist: graphviz>=0.20.1; extra == "dev"
|
|
6
24
|
Provides-Extra: test
|
|
25
|
+
Requires-Dist: mock; extra == "test"
|
|
26
|
+
Requires-Dist: pytest>=7.3.1; extra == "test"
|
|
27
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == "test"
|
|
28
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
|
|
29
|
+
Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
|
|
30
|
+
Requires-Dist: matplotlib>=2.0.0; extra == "test"
|
|
7
31
|
|
|
8
32
|
MaxCompute MaxFrame Client
|
|
9
33
|
==========================
|
|
@@ -28,6 +28,8 @@ except ImportError:
|
|
|
28
28
|
|
|
29
29
|
available_timezones = lambda: all_timezones
|
|
30
30
|
|
|
31
|
+
import logging
|
|
32
|
+
|
|
31
33
|
from ..utils import get_python_tag
|
|
32
34
|
from .validators import (
|
|
33
35
|
ValidatorType,
|
|
@@ -43,6 +45,8 @@ from .validators import (
|
|
|
43
45
|
is_valid_cache_path,
|
|
44
46
|
)
|
|
45
47
|
|
|
48
|
+
logger = logging.getLogger(__name__)
|
|
49
|
+
|
|
46
50
|
_DEFAULT_REDIRECT_WARN = "Option {source} has been replaced by {target} and might be removed in a future release."
|
|
47
51
|
_DEFAULT_MAX_ALIVE_SECONDS = 3 * 24 * 3600
|
|
48
52
|
_DEFAULT_MAX_IDLE_SECONDS = 3600
|
|
@@ -499,3 +503,22 @@ class OptionsProxy:
|
|
|
499
503
|
|
|
500
504
|
|
|
501
505
|
options = OptionsProxy()
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
def update_wlm_quota_settings(session_id: str, engine_settings: Dict[str, Any]):
|
|
509
|
+
engine_quota = engine_settings.get("odps.task.wlm.quota", None)
|
|
510
|
+
session_quota = options.session.quota_name or None
|
|
511
|
+
if engine_quota != session_quota and engine_quota:
|
|
512
|
+
logger.warning(
|
|
513
|
+
"[Session=%s] Session quota (%s) is different to SubDag engine quota (%s)",
|
|
514
|
+
session_id,
|
|
515
|
+
session_quota,
|
|
516
|
+
engine_quota,
|
|
517
|
+
)
|
|
518
|
+
# TODO(renxiang): overwrite or not overwrite
|
|
519
|
+
return
|
|
520
|
+
|
|
521
|
+
if session_quota:
|
|
522
|
+
engine_settings["odps.task.wlm.quota"] = session_quota
|
|
523
|
+
elif "odps.task.wlm.quota" in engine_settings:
|
|
524
|
+
engine_settings.pop("odps.task.wlm.quota")
|
|
@@ -37,6 +37,7 @@ from ...serialization.serializables import (
|
|
|
37
37
|
SeriesField,
|
|
38
38
|
StringField,
|
|
39
39
|
)
|
|
40
|
+
from ...utils import is_empty
|
|
40
41
|
from ..utils import parse_index
|
|
41
42
|
from .core import ColumnPruneSupportedDataSourceMixin, IncrementalIndexDatasource
|
|
42
43
|
|
|
@@ -250,7 +251,7 @@ class DataFrameReadODPSQuery(
|
|
|
250
251
|
self.columns = columns
|
|
251
252
|
|
|
252
253
|
def __call__(self, chunk_bytes=None, chunk_size=None):
|
|
253
|
-
if
|
|
254
|
+
if is_empty(self.index_columns):
|
|
254
255
|
index_value = parse_index(pd.RangeIndex(0))
|
|
255
256
|
elif len(self.index_columns) == 1:
|
|
256
257
|
index_value = parse_index(
|
|
@@ -34,6 +34,7 @@ from ...serialization.serializables import (
|
|
|
34
34
|
SeriesField,
|
|
35
35
|
StringField,
|
|
36
36
|
)
|
|
37
|
+
from ...utils import is_empty
|
|
37
38
|
from ..core import DataFrame # noqa: F401
|
|
38
39
|
from ..utils import parse_index
|
|
39
40
|
from .core import ColumnPruneSupportedDataSourceMixin, IncrementalIndexDatasource
|
|
@@ -76,7 +77,7 @@ class DataFrameReadODPSTable(
|
|
|
76
77
|
self.columns = columns
|
|
77
78
|
|
|
78
79
|
def __call__(self, shape, chunk_bytes=None, chunk_size=None):
|
|
79
|
-
if
|
|
80
|
+
if is_empty(self.index_columns):
|
|
80
81
|
if np.isnan(shape[0]):
|
|
81
82
|
index_value = parse_index(pd.RangeIndex(0))
|
|
82
83
|
else:
|
|
@@ -238,7 +239,8 @@ def read_odps_table(
|
|
|
238
239
|
partitions = [partitions]
|
|
239
240
|
|
|
240
241
|
append_partitions = append_partitions or any(
|
|
241
|
-
pt.name in (columns
|
|
242
|
+
pt.name in (columns if not is_empty(columns) else ())
|
|
243
|
+
for pt in (table.table_schema.partitions or ())
|
|
242
244
|
)
|
|
243
245
|
op = DataFrameReadODPSTable(
|
|
244
246
|
table_name=table.full_table_name,
|
|
@@ -14,10 +14,12 @@
|
|
|
14
14
|
|
|
15
15
|
from typing import Any, Tuple, Union
|
|
16
16
|
|
|
17
|
+
import numpy as np
|
|
17
18
|
import pandas as pd
|
|
18
19
|
import pyarrow as pa
|
|
19
20
|
|
|
20
21
|
from ...core import OutputType
|
|
22
|
+
from ...lib.version import parse as parse_version
|
|
21
23
|
from ...protocol import DataFrameTableMeta
|
|
22
24
|
from ...tensor.core import TENSOR_TYPE
|
|
23
25
|
from ...typing_ import ArrowTableType, PandasObjectTypes
|
|
@@ -109,7 +111,26 @@ def pandas_to_arrow(
|
|
|
109
111
|
df = pd.DataFrame([[df]], columns=names)
|
|
110
112
|
else: # this could never happen # pragma: no cover
|
|
111
113
|
raise ValueError(f"Does not support meta type {table_meta.type!r}")
|
|
112
|
-
|
|
114
|
+
|
|
115
|
+
try:
|
|
116
|
+
pa_table = pa.Table.from_pandas(df, nthreads=nthreads, preserve_index=False)
|
|
117
|
+
except pa.ArrowTypeError as ex: # pragma: no cover
|
|
118
|
+
late_np_version = parse_version(np.__version__) >= parse_version("1.20")
|
|
119
|
+
early_pa_version = parse_version(pa.__version__) <= parse_version("4.0")
|
|
120
|
+
if (
|
|
121
|
+
late_np_version
|
|
122
|
+
and early_pa_version
|
|
123
|
+
and "Did not pass numpy.dtype object" in str(ex)
|
|
124
|
+
):
|
|
125
|
+
raise TypeError(
|
|
126
|
+
"Potential dependency conflict. Try update to pyarrow>4.0 "
|
|
127
|
+
"or downgrade to numpy<1.20. Details can be seen at "
|
|
128
|
+
"https://github.com/numpy/numpy/issues/17913. "
|
|
129
|
+
f"Raw error message: {ex!r}"
|
|
130
|
+
).with_traceback(ex.__traceback__) from None
|
|
131
|
+
else:
|
|
132
|
+
raise
|
|
133
|
+
|
|
113
134
|
if table_datetime_cols:
|
|
114
135
|
col_names = pa_table.schema.names
|
|
115
136
|
col_datas = []
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import os
|
|
16
16
|
import time
|
|
17
17
|
from abc import ABC, abstractmethod
|
|
18
|
+
from collections import OrderedDict
|
|
18
19
|
from contextlib import contextmanager
|
|
19
20
|
from typing import Dict, List, Optional, Union
|
|
20
21
|
|
|
@@ -25,7 +26,7 @@ from odps.apis.storage_api import (
|
|
|
25
26
|
TableBatchScanResponse,
|
|
26
27
|
TableBatchWriteResponse,
|
|
27
28
|
)
|
|
28
|
-
from odps.tunnel import TableTunnel
|
|
29
|
+
from odps.tunnel import TableDownloadSession, TableDownloadStatus, TableTunnel
|
|
29
30
|
from odps.types import OdpsSchema, PartitionSpec, timestamp_ntz
|
|
30
31
|
from odps.utils import call_with_retry
|
|
31
32
|
|
|
@@ -36,12 +37,13 @@ except ImportError:
|
|
|
36
37
|
|
|
37
38
|
from ...config import options
|
|
38
39
|
from ...env import ODPS_STORAGE_API_ENDPOINT
|
|
39
|
-
from ...utils import sync_pyodps_options
|
|
40
|
+
from ...utils import is_empty, sync_pyodps_options
|
|
40
41
|
from .schema import odps_schema_to_arrow_schema
|
|
41
42
|
|
|
42
43
|
PartitionsType = Union[List[str], str, None]
|
|
43
44
|
|
|
44
45
|
_DEFAULT_ROW_BATCH_SIZE = 4096
|
|
46
|
+
_DOWNLOAD_ID_CACHE_SIZE = 100
|
|
45
47
|
|
|
46
48
|
|
|
47
49
|
class ODPSTableIO(ABC):
|
|
@@ -65,7 +67,11 @@ class ODPSTableIO(ABC):
|
|
|
65
67
|
) -> OdpsSchema:
|
|
66
68
|
final_cols = []
|
|
67
69
|
|
|
68
|
-
columns =
|
|
70
|
+
columns = (
|
|
71
|
+
columns
|
|
72
|
+
if not is_empty(columns)
|
|
73
|
+
else [col.name for col in table_schema.simple_columns]
|
|
74
|
+
)
|
|
69
75
|
if partition_columns is True:
|
|
70
76
|
partition_columns = [c.name for c in table_schema.partitions]
|
|
71
77
|
else:
|
|
@@ -215,6 +221,46 @@ class TunnelMultiPartitionReader:
|
|
|
215
221
|
|
|
216
222
|
|
|
217
223
|
class TunnelTableIO(ODPSTableIO):
|
|
224
|
+
_down_session_ids = OrderedDict()
|
|
225
|
+
|
|
226
|
+
@classmethod
|
|
227
|
+
def create_download_sessions(
|
|
228
|
+
cls,
|
|
229
|
+
odps_entry: ODPS,
|
|
230
|
+
full_table_name: str,
|
|
231
|
+
partitions: List[Optional[str]] = None,
|
|
232
|
+
) -> Dict[Optional[str], TableDownloadSession]:
|
|
233
|
+
table = odps_entry.get_table(full_table_name)
|
|
234
|
+
tunnel = TableTunnel(odps_entry)
|
|
235
|
+
parts = (
|
|
236
|
+
[partitions]
|
|
237
|
+
if partitions is None or isinstance(partitions, str)
|
|
238
|
+
else partitions
|
|
239
|
+
)
|
|
240
|
+
part_to_session = dict()
|
|
241
|
+
for part in parts:
|
|
242
|
+
part_key = (full_table_name, part)
|
|
243
|
+
down_session = None
|
|
244
|
+
|
|
245
|
+
if part_key in cls._down_session_ids:
|
|
246
|
+
down_id = cls._down_session_ids[part_key]
|
|
247
|
+
down_session = tunnel.create_download_session(
|
|
248
|
+
table, async_mode=True, partition_spec=part, download_id=down_id
|
|
249
|
+
)
|
|
250
|
+
if down_session.status != TableDownloadStatus.Normal:
|
|
251
|
+
down_session = None
|
|
252
|
+
|
|
253
|
+
if down_session is None:
|
|
254
|
+
down_session = tunnel.create_download_session(
|
|
255
|
+
table, async_mode=True, partition_spec=part
|
|
256
|
+
)
|
|
257
|
+
|
|
258
|
+
while len(cls._down_session_ids) >= _DOWNLOAD_ID_CACHE_SIZE:
|
|
259
|
+
cls._down_session_ids.popitem(False)
|
|
260
|
+
cls._down_session_ids[part_key] = down_session.id
|
|
261
|
+
part_to_session[part] = down_session
|
|
262
|
+
return part_to_session
|
|
263
|
+
|
|
218
264
|
@contextmanager
|
|
219
265
|
def open_reader(
|
|
220
266
|
self,
|
|
@@ -241,21 +287,15 @@ class TunnelTableIO(ODPSTableIO):
|
|
|
241
287
|
or (reverse_range and start is None)
|
|
242
288
|
):
|
|
243
289
|
with sync_pyodps_options():
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
290
|
+
tunnel_sessions = self.create_download_sessions(
|
|
291
|
+
self._odps, full_table_name, partitions
|
|
292
|
+
)
|
|
293
|
+
part_to_down_id = {
|
|
294
|
+
pt: session.id for (pt, session) in tunnel_sessions.items()
|
|
295
|
+
}
|
|
296
|
+
total_records = sum(
|
|
297
|
+
session.count for session in tunnel_sessions.values()
|
|
250
298
|
)
|
|
251
|
-
part_to_down_id = dict()
|
|
252
|
-
total_records = 0
|
|
253
|
-
for part in parts:
|
|
254
|
-
down_session = tunnel.create_download_session(
|
|
255
|
-
table, async_mode=True, partition_spec=part
|
|
256
|
-
)
|
|
257
|
-
part_to_down_id[part] = down_session.id
|
|
258
|
-
total_records += down_session.count
|
|
259
299
|
|
|
260
300
|
count = None
|
|
261
301
|
if start is not None or stop is not None:
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import weakref
|
|
16
|
-
from collections import
|
|
16
|
+
from collections import OrderedDict
|
|
17
17
|
from typing import Any, Dict, List, Optional, Tuple, Type
|
|
18
18
|
|
|
19
19
|
import msgpack
|
|
@@ -98,14 +98,18 @@ class SerializableMeta(type):
|
|
|
98
98
|
non_primitive_fields.append(v)
|
|
99
99
|
|
|
100
100
|
# count number of fields for every base class
|
|
101
|
-
cls_to_primitive_field_count =
|
|
102
|
-
cls_to_non_primitive_field_count =
|
|
101
|
+
cls_to_primitive_field_count = OrderedDict()
|
|
102
|
+
cls_to_non_primitive_field_count = OrderedDict()
|
|
103
103
|
for field_name in field_order:
|
|
104
104
|
cls_hash = field_to_cls_hash[field_name]
|
|
105
105
|
if field_name in primitive_field_names:
|
|
106
|
-
cls_to_primitive_field_count[cls_hash]
|
|
106
|
+
cls_to_primitive_field_count[cls_hash] = (
|
|
107
|
+
cls_to_primitive_field_count.get(cls_hash, 0) + 1
|
|
108
|
+
)
|
|
107
109
|
else:
|
|
108
|
-
cls_to_non_primitive_field_count[cls_hash]
|
|
110
|
+
cls_to_non_primitive_field_count[cls_hash] = (
|
|
111
|
+
cls_to_non_primitive_field_count.get(cls_hash, 0) + 1
|
|
112
|
+
)
|
|
109
113
|
|
|
110
114
|
slots = set(properties.pop("__slots__", set()))
|
|
111
115
|
slots.update(properties_field_slot_names)
|
|
@@ -120,9 +124,11 @@ class SerializableMeta(type):
|
|
|
120
124
|
properties["_FIELD_ORDER"] = field_order
|
|
121
125
|
properties["_FIELD_TO_NAME_HASH"] = field_to_cls_hash
|
|
122
126
|
properties["_PRIMITIVE_FIELDS"] = primitive_fields
|
|
123
|
-
properties["_CLS_TO_PRIMITIVE_FIELD_COUNT"] =
|
|
127
|
+
properties["_CLS_TO_PRIMITIVE_FIELD_COUNT"] = OrderedDict(
|
|
128
|
+
cls_to_primitive_field_count
|
|
129
|
+
)
|
|
124
130
|
properties["_NON_PRIMITIVE_FIELDS"] = non_primitive_fields
|
|
125
|
-
properties["_CLS_TO_NON_PRIMITIVE_FIELD_COUNT"] =
|
|
131
|
+
properties["_CLS_TO_NON_PRIMITIVE_FIELD_COUNT"] = OrderedDict(
|
|
126
132
|
cls_to_non_primitive_field_count
|
|
127
133
|
)
|
|
128
134
|
properties["__slots__"] = tuple(slots)
|
|
@@ -296,21 +302,51 @@ class SerializableSerializer(Serializer):
|
|
|
296
302
|
else:
|
|
297
303
|
field.set(obj, value)
|
|
298
304
|
|
|
305
|
+
@classmethod
|
|
306
|
+
def _prune_server_fields(
|
|
307
|
+
cls,
|
|
308
|
+
client_cls_to_field_count: Optional[Dict[int, int]],
|
|
309
|
+
server_cls_to_field_count: Dict[int, int],
|
|
310
|
+
server_fields: list,
|
|
311
|
+
) -> list:
|
|
312
|
+
if not client_cls_to_field_count: # pragma: no cover
|
|
313
|
+
# todo remove this branch when all versions below v0.1.0b5 is eliminated
|
|
314
|
+
return server_fields
|
|
315
|
+
if set(client_cls_to_field_count.keys()) == set(
|
|
316
|
+
server_cls_to_field_count.keys()
|
|
317
|
+
):
|
|
318
|
+
return server_fields
|
|
319
|
+
ret_server_fields = []
|
|
320
|
+
server_pos = 0
|
|
321
|
+
for cls_hash, count in server_cls_to_field_count.items():
|
|
322
|
+
if cls_hash in client_cls_to_field_count:
|
|
323
|
+
ret_server_fields.extend(server_fields[server_pos : server_pos + count])
|
|
324
|
+
server_pos += count
|
|
325
|
+
return ret_server_fields
|
|
326
|
+
|
|
299
327
|
@classmethod
|
|
300
328
|
def _set_field_values(
|
|
301
329
|
cls,
|
|
302
330
|
obj: Serializable,
|
|
303
331
|
values: List[Any],
|
|
304
|
-
client_cls_to_field_count: Optional[Dict[
|
|
332
|
+
client_cls_to_field_count: Optional[Dict[int, int]],
|
|
305
333
|
is_primitive: bool = True,
|
|
306
334
|
):
|
|
307
335
|
obj_class = type(obj)
|
|
308
336
|
if is_primitive:
|
|
309
337
|
server_cls_to_field_count = obj_class._CLS_TO_PRIMITIVE_FIELD_COUNT
|
|
310
|
-
server_fields =
|
|
338
|
+
server_fields = cls._prune_server_fields(
|
|
339
|
+
client_cls_to_field_count,
|
|
340
|
+
server_cls_to_field_count,
|
|
341
|
+
obj_class._PRIMITIVE_FIELDS,
|
|
342
|
+
)
|
|
311
343
|
else:
|
|
312
344
|
server_cls_to_field_count = obj_class._CLS_TO_NON_PRIMITIVE_FIELD_COUNT
|
|
313
|
-
server_fields =
|
|
345
|
+
server_fields = cls._prune_server_fields(
|
|
346
|
+
client_cls_to_field_count,
|
|
347
|
+
server_cls_to_field_count,
|
|
348
|
+
obj_class._NON_PRIMITIVE_FIELDS,
|
|
349
|
+
)
|
|
314
350
|
|
|
315
351
|
legacy_to_new_hash = {
|
|
316
352
|
c._LEGACY_NAME_HASH: c._NAME_HASH
|
|
@@ -1127,3 +1127,9 @@ def sync_pyodps_options():
|
|
|
1127
1127
|
|
|
1128
1128
|
def str_to_bool(s: Optional[str]) -> Optional[bool]:
|
|
1129
1129
|
return s.lower().strip() in ("true", "1") if s is not None else None
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
def is_empty(val):
|
|
1133
|
+
if isinstance(val, (pd.DataFrame, pd.Series, pd.Index)):
|
|
1134
|
+
return val.empty
|
|
1135
|
+
return not bool(val)
|
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: maxframe
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: MaxFrame operator-based data analyze framework
|
|
5
|
+
Requires-Dist: numpy<2.0.0,>=1.19.0
|
|
6
|
+
Requires-Dist: pandas>=1.0.0
|
|
7
|
+
Requires-Dist: pyodps>=0.12.0
|
|
8
|
+
Requires-Dist: scipy>=1.0
|
|
9
|
+
Requires-Dist: pyarrow>=1.0.0
|
|
10
|
+
Requires-Dist: msgpack>=1.0.0
|
|
11
|
+
Requires-Dist: traitlets>=5.0
|
|
12
|
+
Requires-Dist: cloudpickle<3.0.0,>=1.5.0
|
|
13
|
+
Requires-Dist: pyyaml>=5.1
|
|
14
|
+
Requires-Dist: pickle5; python_version < "3.8"
|
|
15
|
+
Requires-Dist: tornado>=6.0
|
|
16
|
+
Requires-Dist: defusedxml>=0.5.0
|
|
17
|
+
Requires-Dist: tqdm>=4.1.0
|
|
18
|
+
Requires-Dist: importlib_metadata>=1.4
|
|
5
19
|
Provides-Extra: dev
|
|
20
|
+
Requires-Dist: black>=22.3.0; extra == "dev"
|
|
21
|
+
Requires-Dist: flake8>=5.0.4; extra == "dev"
|
|
22
|
+
Requires-Dist: pre-commit>=2.15.0; extra == "dev"
|
|
23
|
+
Requires-Dist: graphviz>=0.20.1; extra == "dev"
|
|
6
24
|
Provides-Extra: test
|
|
25
|
+
Requires-Dist: mock; extra == "test"
|
|
26
|
+
Requires-Dist: pytest>=7.3.1; extra == "test"
|
|
27
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == "test"
|
|
28
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
|
|
29
|
+
Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
|
|
30
|
+
Requires-Dist: matplotlib>=2.0.0; extra == "test"
|
|
7
31
|
|
|
8
32
|
MaxCompute MaxFrame Client
|
|
9
33
|
==========================
|
|
@@ -20,7 +20,6 @@ import pandas as pd
|
|
|
20
20
|
import pyarrow as pa
|
|
21
21
|
from odps import ODPS
|
|
22
22
|
from odps.models import ExternalVolume
|
|
23
|
-
from odps.tunnel import TableTunnel
|
|
24
23
|
|
|
25
24
|
from maxframe.core import OBJECT_TYPE
|
|
26
25
|
from maxframe.dataframe.core import DATAFRAME_TYPE
|
|
@@ -28,6 +27,7 @@ from maxframe.io.objects import get_object_io_handler
|
|
|
28
27
|
from maxframe.io.odpsio import (
|
|
29
28
|
ODPSTableIO,
|
|
30
29
|
ODPSVolumeReader,
|
|
30
|
+
TunnelTableIO,
|
|
31
31
|
arrow_to_pandas,
|
|
32
32
|
build_dataframe_table_meta,
|
|
33
33
|
odps_schema_to_pandas_dtypes,
|
|
@@ -136,11 +136,10 @@ class ODPSTableFetcher(ToThreadMixin, ResultFetcher):
|
|
|
136
136
|
dtypes = odps_schema_to_pandas_dtypes(table.table_schema)
|
|
137
137
|
tileable.refresh_from_dtypes(dtypes)
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
total_records += session.count
|
|
139
|
+
part_sessions = TunnelTableIO.create_download_sessions(
|
|
140
|
+
self._odps_entry, info.full_table_name, part_specs
|
|
141
|
+
)
|
|
142
|
+
total_records = sum(session.count for session in part_sessions.values())
|
|
144
143
|
|
|
145
144
|
new_shape_list = list(tileable.shape)
|
|
146
145
|
new_shape_list[0] = total_records
|
|
@@ -84,10 +84,21 @@ class MaxFrameServiceCaller(metaclass=abc.ABCMeta):
|
|
|
84
84
|
def get_settings_to_upload(self) -> Dict[str, Any]:
|
|
85
85
|
sql_settings = (odps_options.sql.settings or {}).copy()
|
|
86
86
|
sql_settings.update(options.sql.settings or {})
|
|
87
|
-
|
|
88
87
|
quota_name = options.session.quota_name or getattr(
|
|
89
88
|
odps_options, "quota_name", None
|
|
90
89
|
)
|
|
90
|
+
quota_settings = {
|
|
91
|
+
sql_settings.get("odps.task.wlm.quota", None),
|
|
92
|
+
options.spe.task.settings.get("odps.task.wlm.quota", None),
|
|
93
|
+
options.pythonpack.task.settings.get("odps.task.wlm.quota", None),
|
|
94
|
+
quota_name,
|
|
95
|
+
}.difference([None])
|
|
96
|
+
if len(quota_settings) >= 2:
|
|
97
|
+
raise ValueError(
|
|
98
|
+
"Quota settings are conflicting: %s" % ", ".join(sorted(quota_settings))
|
|
99
|
+
)
|
|
100
|
+
elif len(quota_settings) == 1:
|
|
101
|
+
quota_name = quota_settings.pop()
|
|
91
102
|
lifecycle = options.session.table_lifecycle or odps_options.lifecycle
|
|
92
103
|
temp_lifecycle = (
|
|
93
104
|
options.session.temp_table_lifecycle or odps_options.temp_lifecycle
|
|
@@ -332,6 +343,11 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
|
|
|
332
343
|
self._last_settings = copy.deepcopy(new_settings)
|
|
333
344
|
return new_settings
|
|
334
345
|
|
|
346
|
+
if self._last_settings.get("session.quota_name", None) != new_settings.get(
|
|
347
|
+
"session.quota_name", None
|
|
348
|
+
):
|
|
349
|
+
raise ValueError("Quota name cannot be changed after sessions are created")
|
|
350
|
+
|
|
335
351
|
update = dict()
|
|
336
352
|
for k in new_settings.keys():
|
|
337
353
|
old_item = self._last_settings.get(k)
|
|
@@ -126,10 +126,13 @@ class MaxFrameInstanceCaller(MaxFrameServiceCaller):
|
|
|
126
126
|
|
|
127
127
|
def _create_maxframe_task(self) -> MaxFrameTask:
|
|
128
128
|
task = MaxFrameTask(name=self._task_name, major_version=self._major_version)
|
|
129
|
+
mf_settings = self.get_settings_to_upload()
|
|
129
130
|
mf_opts = {
|
|
130
|
-
"odps.maxframe.settings": json.dumps(
|
|
131
|
+
"odps.maxframe.settings": json.dumps(mf_settings),
|
|
131
132
|
"odps.maxframe.output_format": self._output_format,
|
|
132
133
|
}
|
|
134
|
+
if mf_settings.get("session.quota_name", None):
|
|
135
|
+
mf_opts["odps.task.wlm.quota"] = mf_settings["session.quota_name"]
|
|
133
136
|
if mf_version:
|
|
134
137
|
mf_opts["odps.maxframe.client_version"] = mf_version
|
|
135
138
|
task.update_settings(mf_opts)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|