rdt 1.15.1.dev0__tar.gz → 1.16.0.dev0__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.
- {rdt-1.15.1.dev0/rdt.egg-info → rdt-1.16.0.dev0}/PKG-INFO +5 -4
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/pyproject.toml +6 -6
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/__init__.py +1 -1
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/__init__.py +2 -1
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/categorical.py +2 -2
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/id.py +44 -12
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/pii/anonymizer.py +5 -9
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/utils.py +14 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0/rdt.egg-info}/PKG-INFO +5 -4
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt.egg-info/requires.txt +5 -3
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/LICENSE +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/README.md +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/errors.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/hyper_transformer.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/__init__.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/__init__.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/base.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/boolean.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/categorical.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/datetime.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/id.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/numerical.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/pii.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/text.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/datasets/utils.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/performance.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/performance/profiling.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/_validators.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/base.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/boolean.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/datetime.py +1 -1
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/null.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/numerical.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/pii/__init__.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/pii/anonymization.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/pii/utils.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt/transformers/text.py +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt.egg-info/SOURCES.txt +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt.egg-info/dependency_links.txt +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt.egg-info/entry_points.txt +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/rdt.egg-info/top_level.txt +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/setup.cfg +0 -0
- {rdt-1.15.1.dev0 → rdt-1.16.0.dev0}/tests/test_tasks.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rdt
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.16.0.dev0
|
|
4
4
|
Summary: Reversible Data Transforms
|
|
5
5
|
Author-email: "DataCebo, Inc." <info@sdv.dev>
|
|
6
6
|
License: BSL-1.1
|
|
@@ -53,23 +53,24 @@ Requires-Dist: rdt[copulas]; extra == "test"
|
|
|
53
53
|
Requires-Dist: pytest>=3.4.2; extra == "test"
|
|
54
54
|
Requires-Dist: pytest-cov>=2.6.0; extra == "test"
|
|
55
55
|
Requires-Dist: jupyter<2,>=1.0.0; extra == "test"
|
|
56
|
-
Requires-Dist: rundoc<0.5,>=0.4.3; extra == "test"
|
|
57
56
|
Requires-Dist: pytest-subtests<1.0,>=0.5; extra == "test"
|
|
58
57
|
Requires-Dist: pytest-runner>=2.11.1; extra == "test"
|
|
59
58
|
Requires-Dist: tomli<3,>=2.0.0; extra == "test"
|
|
60
59
|
Provides-Extra: dev
|
|
61
60
|
Requires-Dist: rdt[test]; extra == "dev"
|
|
62
61
|
Requires-Dist: build<2,>=1.0.0; extra == "dev"
|
|
63
|
-
Requires-Dist: bump-my-version
|
|
62
|
+
Requires-Dist: bump-my-version>=0.18.3; extra == "dev"
|
|
64
63
|
Requires-Dist: pip>=9.0.1; extra == "dev"
|
|
65
64
|
Requires-Dist: watchdog<5,>=1.0.1; extra == "dev"
|
|
66
65
|
Requires-Dist: ruff<1,>=0.3.2; extra == "dev"
|
|
67
|
-
Requires-Dist: twine
|
|
66
|
+
Requires-Dist: twine>=1.10.0; extra == "dev"
|
|
68
67
|
Requires-Dist: wheel>=0.30.0; extra == "dev"
|
|
69
68
|
Requires-Dist: coverage<8,>=4.5.12; extra == "dev"
|
|
70
69
|
Requires-Dist: tox<5,>=2.9.1; extra == "dev"
|
|
71
70
|
Requires-Dist: tabulate<1,>=0.8.9; extra == "dev"
|
|
72
71
|
Requires-Dist: invoke; extra == "dev"
|
|
72
|
+
Provides-Extra: readme
|
|
73
|
+
Requires-Dist: rundoc<0.5,>=0.4.3; extra == "readme"
|
|
73
74
|
Dynamic: license-file
|
|
74
75
|
|
|
75
76
|
<div align="center">
|
|
@@ -54,7 +54,7 @@ rdt = { main = 'rdt.cli.__main__:main' }
|
|
|
54
54
|
|
|
55
55
|
[project.optional-dependencies]
|
|
56
56
|
copulas = ['copulas>=0.12.1',]
|
|
57
|
-
pyarrow = ['pyarrow>=17.0.0']
|
|
57
|
+
pyarrow = ['pyarrow>=17.0.0',]
|
|
58
58
|
test = [
|
|
59
59
|
'rdt[pyarrow]',
|
|
60
60
|
'rdt[copulas]',
|
|
@@ -62,7 +62,6 @@ test = [
|
|
|
62
62
|
'pytest>=3.4.2',
|
|
63
63
|
'pytest-cov>=2.6.0',
|
|
64
64
|
'jupyter>=1.0.0,<2',
|
|
65
|
-
'rundoc>=0.4.3,<0.5',
|
|
66
65
|
'pytest-subtests>=0.5,<1.0',
|
|
67
66
|
'pytest-runner >= 2.11.1',
|
|
68
67
|
'tomli>=2.0.0,<3',
|
|
@@ -72,7 +71,7 @@ dev = [
|
|
|
72
71
|
|
|
73
72
|
# general
|
|
74
73
|
'build>=1.0.0,<2',
|
|
75
|
-
'bump-my-version>=0.18.3
|
|
74
|
+
'bump-my-version>=0.18.3',
|
|
76
75
|
'pip>=9.0.1',
|
|
77
76
|
'watchdog>=1.0.1,<5',
|
|
78
77
|
|
|
@@ -80,7 +79,7 @@ dev = [
|
|
|
80
79
|
'ruff>=0.3.2,<1',
|
|
81
80
|
|
|
82
81
|
# distribute on PyPI
|
|
83
|
-
'twine>=1.10.0
|
|
82
|
+
'twine>=1.10.0',
|
|
84
83
|
'wheel>=0.30.0',
|
|
85
84
|
|
|
86
85
|
# Advanced testing
|
|
@@ -89,8 +88,9 @@ dev = [
|
|
|
89
88
|
'tabulate>=0.8.9,<1',
|
|
90
89
|
|
|
91
90
|
# Invoking test commands
|
|
92
|
-
'invoke'
|
|
91
|
+
'invoke',
|
|
93
92
|
]
|
|
93
|
+
readme = ['rundoc>=0.4.3,<0.5',]
|
|
94
94
|
|
|
95
95
|
[tool.setuptools]
|
|
96
96
|
include-package-data = true
|
|
@@ -144,7 +144,7 @@ collect_ignore = ['pyproject.toml']
|
|
|
144
144
|
exclude_lines = ['NotImplementedError()']
|
|
145
145
|
|
|
146
146
|
[tool.bumpversion]
|
|
147
|
-
current_version = "1.
|
|
147
|
+
current_version = "1.16.0.dev0"
|
|
148
148
|
parse = '(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<candidate>\d+))?'
|
|
149
149
|
serialize = [
|
|
150
150
|
'{major}.{minor}.{patch}.{release}{candidate}',
|
|
@@ -22,7 +22,7 @@ from rdt.transformers.datetime import (
|
|
|
22
22
|
OptimizedTimestampEncoder,
|
|
23
23
|
UnixTimestampEncoder,
|
|
24
24
|
)
|
|
25
|
-
from rdt.transformers.id import IDGenerator, RegexGenerator
|
|
25
|
+
from rdt.transformers.id import IDGenerator, IndexGenerator, RegexGenerator
|
|
26
26
|
from rdt.transformers.null import NullTransformer
|
|
27
27
|
from rdt.transformers.numerical import (
|
|
28
28
|
ClusterBasedNormalizer,
|
|
@@ -57,6 +57,7 @@ __all__ = [
|
|
|
57
57
|
'AnonymizedFaker',
|
|
58
58
|
'PseudoAnonymizedFaker',
|
|
59
59
|
'IDGenerator',
|
|
60
|
+
'IndexGenerator',
|
|
60
61
|
'get_transformer_name',
|
|
61
62
|
'get_transformer_class',
|
|
62
63
|
'get_transformers_by_type',
|
|
@@ -40,7 +40,7 @@ class UniformEncoder(BaseTransformer):
|
|
|
40
40
|
"""
|
|
41
41
|
|
|
42
42
|
INPUT_SDTYPE = 'categorical'
|
|
43
|
-
SUPPORTED_SDTYPES = ['categorical', 'boolean']
|
|
43
|
+
SUPPORTED_SDTYPES = ['categorical', 'boolean', 'id', 'text']
|
|
44
44
|
frequencies = None
|
|
45
45
|
intervals = None
|
|
46
46
|
dtype = None
|
|
@@ -733,7 +733,7 @@ class LabelEncoder(BaseTransformer):
|
|
|
733
733
|
"""
|
|
734
734
|
|
|
735
735
|
INPUT_SDTYPE = 'categorical'
|
|
736
|
-
SUPPORTED_SDTYPES = ['categorical', 'boolean']
|
|
736
|
+
SUPPORTED_SDTYPES = ['categorical', 'boolean', 'id', 'text']
|
|
737
737
|
values_to_categories = None
|
|
738
738
|
categories_to_values = None
|
|
739
739
|
dtype = 'O'
|
|
@@ -7,12 +7,15 @@ import numpy as np
|
|
|
7
7
|
import pandas as pd
|
|
8
8
|
|
|
9
9
|
from rdt.transformers.base import BaseTransformer
|
|
10
|
-
from rdt.transformers.utils import
|
|
10
|
+
from rdt.transformers.utils import (
|
|
11
|
+
_handle_enforce_uniqueness_and_cardinality_rule,
|
|
12
|
+
strings_from_regex,
|
|
13
|
+
)
|
|
11
14
|
|
|
12
15
|
LOGGER = logging.getLogger(__name__)
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class
|
|
18
|
+
class IndexGenerator(BaseTransformer):
|
|
16
19
|
"""Generate an ID column.
|
|
17
20
|
|
|
18
21
|
This transformer generates an ID column based on a given prefix, starting value and suffix.
|
|
@@ -72,6 +75,21 @@ class IDGenerator(BaseTransformer):
|
|
|
72
75
|
return pd.Series(values)
|
|
73
76
|
|
|
74
77
|
|
|
78
|
+
class IDGenerator(IndexGenerator):
|
|
79
|
+
"""Deprecated class name for ``IndexGenerator``.
|
|
80
|
+
|
|
81
|
+
Class to ensure backwards compatibility with previous versions of RDT.
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
def __init__(self, prefix=None, starting_value=0, suffix=None):
|
|
85
|
+
warnings.warn(
|
|
86
|
+
"The 'IDGenerator' has been renamed to 'IndexGenerator'. Please update the"
|
|
87
|
+
'name to ensure compatibility with future versions of RDT.',
|
|
88
|
+
FutureWarning,
|
|
89
|
+
)
|
|
90
|
+
super().__init__(prefix, starting_value, suffix)
|
|
91
|
+
|
|
92
|
+
|
|
75
93
|
class RegexGenerator(BaseTransformer):
|
|
76
94
|
"""RegexGenerator transformer.
|
|
77
95
|
|
|
@@ -82,9 +100,13 @@ class RegexGenerator(BaseTransformer):
|
|
|
82
100
|
regex (str):
|
|
83
101
|
String representing the regex function.
|
|
84
102
|
enforce_uniqueness (bool):
|
|
85
|
-
Whether or not to ensure that the new generated data is all unique.
|
|
86
|
-
possible to create the requested number of rows, then an error will
|
|
87
|
-
Defaults to ``
|
|
103
|
+
**DEPRECATED** Whether or not to ensure that the new generated data is all unique.
|
|
104
|
+
If it isn't possible to create the requested number of rows, then an error will
|
|
105
|
+
be raised. Defaults to ``None``.
|
|
106
|
+
cardinality_rule (str):
|
|
107
|
+
Rule that the generated data must follow. If set to ``unique``, the generated
|
|
108
|
+
data must be unique. If set to ``None``, then the generated data may contain
|
|
109
|
+
duplicates. Defaults to ``None``.
|
|
88
110
|
generation_order (str):
|
|
89
111
|
String defining how to generate the output. If set to ``alphanumeric``, it will
|
|
90
112
|
generate the output in alphanumeric order (ie. 'aaa', 'aab' or '1', '2'...). If
|
|
@@ -122,13 +144,16 @@ class RegexGenerator(BaseTransformer):
|
|
|
122
144
|
def __init__(
|
|
123
145
|
self,
|
|
124
146
|
regex_format='[A-Za-z]{5}',
|
|
125
|
-
|
|
147
|
+
cardinality_rule=None,
|
|
126
148
|
generation_order='alphanumeric',
|
|
149
|
+
enforce_uniqueness=None,
|
|
127
150
|
):
|
|
128
151
|
super().__init__()
|
|
129
152
|
self.output_properties = {None: {'next_transformer': None}}
|
|
130
|
-
self.enforce_uniqueness = enforce_uniqueness
|
|
131
153
|
self.regex_format = regex_format
|
|
154
|
+
self.cardinality_rule = _handle_enforce_uniqueness_and_cardinality_rule(
|
|
155
|
+
enforce_uniqueness, cardinality_rule
|
|
156
|
+
)
|
|
132
157
|
self.data_length = None
|
|
133
158
|
self.generator = None
|
|
134
159
|
self.generator_size = None
|
|
@@ -158,16 +183,18 @@ class RegexGenerator(BaseTransformer):
|
|
|
158
183
|
"""Drop the input column by returning ``None``."""
|
|
159
184
|
return None
|
|
160
185
|
|
|
161
|
-
def _warn_not_enough_unique_values(self, sample_size):
|
|
186
|
+
def _warn_not_enough_unique_values(self, sample_size, unique_condition):
|
|
162
187
|
"""Warn the user that the regex cannot generate enough unique values.
|
|
163
188
|
|
|
164
189
|
Args:
|
|
165
190
|
sample_size (int):
|
|
166
191
|
Number of samples to be generated.
|
|
192
|
+
unique_condition (bool):
|
|
193
|
+
Whether or not to enforce uniqueness.
|
|
167
194
|
"""
|
|
168
195
|
warned = False
|
|
169
196
|
if sample_size > self.generator_size:
|
|
170
|
-
if
|
|
197
|
+
if unique_condition:
|
|
171
198
|
warnings.warn(
|
|
172
199
|
f"The regex for '{self.get_input_column()}' can only generate "
|
|
173
200
|
f'{self.generator_size} unique values. Additional values may not exactly '
|
|
@@ -185,7 +212,7 @@ class RegexGenerator(BaseTransformer):
|
|
|
185
212
|
)
|
|
186
213
|
|
|
187
214
|
remaining = self.generator_size - self.generated
|
|
188
|
-
if sample_size > remaining and
|
|
215
|
+
if sample_size > remaining and unique_condition and not warned:
|
|
189
216
|
warnings.warn(
|
|
190
217
|
f'The regex generator is not able to generate {sample_size} new unique '
|
|
191
218
|
f'values (only {max(remaining, 0)} unique values left).'
|
|
@@ -201,12 +228,17 @@ class RegexGenerator(BaseTransformer):
|
|
|
201
228
|
Returns:
|
|
202
229
|
pandas.Series
|
|
203
230
|
"""
|
|
231
|
+
if hasattr(self, 'cardinality_rule'):
|
|
232
|
+
unique_condition = self.cardinality_rule == 'unique'
|
|
233
|
+
else:
|
|
234
|
+
unique_condition = self.enforce_uniqueness
|
|
235
|
+
|
|
204
236
|
if data is not None and len(data):
|
|
205
237
|
sample_size = len(data)
|
|
206
238
|
else:
|
|
207
239
|
sample_size = self.data_length
|
|
208
240
|
|
|
209
|
-
self._warn_not_enough_unique_values(sample_size)
|
|
241
|
+
self._warn_not_enough_unique_values(sample_size, unique_condition)
|
|
210
242
|
|
|
211
243
|
remaining = self.generator_size - self.generated
|
|
212
244
|
if sample_size > remaining:
|
|
@@ -225,7 +257,7 @@ class RegexGenerator(BaseTransformer):
|
|
|
225
257
|
reverse_transformed = generated_values[:]
|
|
226
258
|
|
|
227
259
|
if len(reverse_transformed) < sample_size:
|
|
228
|
-
if
|
|
260
|
+
if unique_condition:
|
|
229
261
|
try:
|
|
230
262
|
remaining_samples = sample_size - len(reverse_transformed)
|
|
231
263
|
start = int(generated_values[-1]) + 1
|
|
@@ -15,6 +15,7 @@ import pandas as pd
|
|
|
15
15
|
from rdt.errors import TransformerInputError, TransformerProcessingError
|
|
16
16
|
from rdt.transformers.base import BaseTransformer
|
|
17
17
|
from rdt.transformers.categorical import LabelEncoder
|
|
18
|
+
from rdt.transformers.utils import _handle_enforce_uniqueness_and_cardinality_rule
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
class AnonymizedFaker(BaseTransformer):
|
|
@@ -113,7 +114,7 @@ class AnonymizedFaker(BaseTransformer):
|
|
|
113
114
|
function_kwargs=None,
|
|
114
115
|
locales=None,
|
|
115
116
|
cardinality_rule=None,
|
|
116
|
-
enforce_uniqueness=
|
|
117
|
+
enforce_uniqueness=None,
|
|
117
118
|
missing_value_generation='random',
|
|
118
119
|
):
|
|
119
120
|
super().__init__()
|
|
@@ -121,14 +122,9 @@ class AnonymizedFaker(BaseTransformer):
|
|
|
121
122
|
self.data_length = None
|
|
122
123
|
self.enforce_uniqueness = enforce_uniqueness
|
|
123
124
|
self.cardinality_rule = cardinality_rule.lower() if cardinality_rule else None
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
"Please use the 'cardinality_rule' parameter instead.",
|
|
128
|
-
FutureWarning,
|
|
129
|
-
)
|
|
130
|
-
if not self.cardinality_rule:
|
|
131
|
-
self.cardinality_rule = 'unique'
|
|
125
|
+
self.cardinality_rule = _handle_enforce_uniqueness_and_cardinality_rule(
|
|
126
|
+
enforce_uniqueness, cardinality_rule
|
|
127
|
+
)
|
|
132
128
|
|
|
133
129
|
self.provider_name = provider_name if provider_name else 'BaseProvider'
|
|
134
130
|
if self.provider_name != 'BaseProvider' and function_name is None:
|
|
@@ -369,3 +369,17 @@ class WarnDict(dict):
|
|
|
369
369
|
phased out.
|
|
370
370
|
"""
|
|
371
371
|
return self.get(sdtype)
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
def _handle_enforce_uniqueness_and_cardinality_rule(enforce_uniqueness, cardinality_rule):
|
|
375
|
+
result = cardinality_rule
|
|
376
|
+
if enforce_uniqueness is not None:
|
|
377
|
+
warnings.warn(
|
|
378
|
+
"The 'enforce_uniqueness' parameter is no longer supported. "
|
|
379
|
+
"Please use the 'cardinality_rule' parameter instead.",
|
|
380
|
+
FutureWarning,
|
|
381
|
+
)
|
|
382
|
+
if enforce_uniqueness and cardinality_rule is None:
|
|
383
|
+
result = 'unique'
|
|
384
|
+
|
|
385
|
+
return result
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rdt
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.16.0.dev0
|
|
4
4
|
Summary: Reversible Data Transforms
|
|
5
5
|
Author-email: "DataCebo, Inc." <info@sdv.dev>
|
|
6
6
|
License: BSL-1.1
|
|
@@ -53,23 +53,24 @@ Requires-Dist: rdt[copulas]; extra == "test"
|
|
|
53
53
|
Requires-Dist: pytest>=3.4.2; extra == "test"
|
|
54
54
|
Requires-Dist: pytest-cov>=2.6.0; extra == "test"
|
|
55
55
|
Requires-Dist: jupyter<2,>=1.0.0; extra == "test"
|
|
56
|
-
Requires-Dist: rundoc<0.5,>=0.4.3; extra == "test"
|
|
57
56
|
Requires-Dist: pytest-subtests<1.0,>=0.5; extra == "test"
|
|
58
57
|
Requires-Dist: pytest-runner>=2.11.1; extra == "test"
|
|
59
58
|
Requires-Dist: tomli<3,>=2.0.0; extra == "test"
|
|
60
59
|
Provides-Extra: dev
|
|
61
60
|
Requires-Dist: rdt[test]; extra == "dev"
|
|
62
61
|
Requires-Dist: build<2,>=1.0.0; extra == "dev"
|
|
63
|
-
Requires-Dist: bump-my-version
|
|
62
|
+
Requires-Dist: bump-my-version>=0.18.3; extra == "dev"
|
|
64
63
|
Requires-Dist: pip>=9.0.1; extra == "dev"
|
|
65
64
|
Requires-Dist: watchdog<5,>=1.0.1; extra == "dev"
|
|
66
65
|
Requires-Dist: ruff<1,>=0.3.2; extra == "dev"
|
|
67
|
-
Requires-Dist: twine
|
|
66
|
+
Requires-Dist: twine>=1.10.0; extra == "dev"
|
|
68
67
|
Requires-Dist: wheel>=0.30.0; extra == "dev"
|
|
69
68
|
Requires-Dist: coverage<8,>=4.5.12; extra == "dev"
|
|
70
69
|
Requires-Dist: tox<5,>=2.9.1; extra == "dev"
|
|
71
70
|
Requires-Dist: tabulate<1,>=0.8.9; extra == "dev"
|
|
72
71
|
Requires-Dist: invoke; extra == "dev"
|
|
72
|
+
Provides-Extra: readme
|
|
73
|
+
Requires-Dist: rundoc<0.5,>=0.4.3; extra == "readme"
|
|
73
74
|
Dynamic: license-file
|
|
74
75
|
|
|
75
76
|
<div align="center">
|
|
@@ -37,11 +37,11 @@ copulas>=0.12.1
|
|
|
37
37
|
[dev]
|
|
38
38
|
rdt[test]
|
|
39
39
|
build<2,>=1.0.0
|
|
40
|
-
bump-my-version
|
|
40
|
+
bump-my-version>=0.18.3
|
|
41
41
|
pip>=9.0.1
|
|
42
42
|
watchdog<5,>=1.0.1
|
|
43
43
|
ruff<1,>=0.3.2
|
|
44
|
-
twine
|
|
44
|
+
twine>=1.10.0
|
|
45
45
|
wheel>=0.30.0
|
|
46
46
|
coverage<8,>=4.5.12
|
|
47
47
|
tox<5,>=2.9.1
|
|
@@ -51,13 +51,15 @@ invoke
|
|
|
51
51
|
[pyarrow]
|
|
52
52
|
pyarrow>=17.0.0
|
|
53
53
|
|
|
54
|
+
[readme]
|
|
55
|
+
rundoc<0.5,>=0.4.3
|
|
56
|
+
|
|
54
57
|
[test]
|
|
55
58
|
rdt[pyarrow]
|
|
56
59
|
rdt[copulas]
|
|
57
60
|
pytest>=3.4.2
|
|
58
61
|
pytest-cov>=2.6.0
|
|
59
62
|
jupyter<2,>=1.0.0
|
|
60
|
-
rundoc<0.5,>=0.4.3
|
|
61
63
|
pytest-subtests<1.0,>=0.5
|
|
62
64
|
pytest-runner>=2.11.1
|
|
63
65
|
tomli<3,>=2.0.0
|
|
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
|
|
@@ -210,10 +210,10 @@ class UnixTimestampEncoder(BaseTransformer):
|
|
|
210
210
|
Returns:
|
|
211
211
|
pandas.Series
|
|
212
212
|
"""
|
|
213
|
+
data = self._reverse_transform_helper(data)
|
|
213
214
|
if self.enforce_min_max_values:
|
|
214
215
|
data = data.clip(self._min_value, self._max_value)
|
|
215
216
|
|
|
216
|
-
data = self._reverse_transform_helper(data)
|
|
217
217
|
datetime_data = pd.to_datetime(data)
|
|
218
218
|
if self.datetime_format:
|
|
219
219
|
if is_datetime64_dtype(self._dtype) and '.%f' not in self.datetime_format:
|
|
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
|