nextrec 0.4.29__py3-none-any.whl → 0.4.31__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.
nextrec/__version__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.4.29"
1
+ __version__ = "0.4.31"
nextrec/cli.py CHANGED
@@ -407,6 +407,8 @@ def train_model(train_config_path: str) -> None:
407
407
  use_swanlab=train_cfg.get("use_swanlab", False),
408
408
  wandb_api=train_cfg.get("wandb_api"),
409
409
  swanlab_api=train_cfg.get("swanlab_api"),
410
+ wandb_kwargs=train_cfg.get("wandb_kwargs"),
411
+ swanlab_kwargs=train_cfg.get("swanlab_kwargs"),
410
412
  log_interval=train_cfg.get("log_interval", 1),
411
413
  note=train_cfg.get("note"),
412
414
  )
@@ -59,6 +59,8 @@ class AFM(BaseModel):
59
59
  dense_features: list[DenseFeature] | None = None,
60
60
  sparse_features: list[SparseFeature] | None = None,
61
61
  sequence_features: list[SequenceFeature] | None = None,
62
+ target: str | list[str] | None = None,
63
+ task: str | list[str] | None = None,
62
64
  attention_dim: int = 32,
63
65
  attention_dropout: float = 0.0,
64
66
  **kwargs,
@@ -72,6 +74,8 @@ class AFM(BaseModel):
72
74
  dense_features=dense_features,
73
75
  sparse_features=sparse_features,
74
76
  sequence_features=sequence_features,
77
+ target=target,
78
+ task=task,
75
79
  **kwargs,
76
80
  )
77
81
 
@@ -75,6 +75,8 @@ class AutoInt(BaseModel):
75
75
  dense_features: list[DenseFeature],
76
76
  sparse_features: list[SparseFeature],
77
77
  sequence_features: list[SequenceFeature],
78
+ target: str | list[str] | None = None,
79
+ task: str | list[str] | None = None,
78
80
  att_layer_num: int = 3,
79
81
  att_embedding_dim: int = 8,
80
82
  att_head_num: int = 2,
@@ -87,6 +89,8 @@ class AutoInt(BaseModel):
87
89
  dense_features=dense_features,
88
90
  sparse_features=sparse_features,
89
91
  sequence_features=sequence_features,
92
+ target=target,
93
+ task=task,
90
94
  **kwargs,
91
95
  )
92
96
 
@@ -93,6 +93,8 @@ class DCN(BaseModel):
93
93
  dense_features: list[DenseFeature] | None = None,
94
94
  sparse_features: list[SparseFeature] | None = None,
95
95
  sequence_features: list[SequenceFeature] | None = None,
96
+ target: str | list[str] | None = None,
97
+ task: str | list[str] | None = None,
96
98
  cross_num: int = 3,
97
99
  mlp_params: dict | None = None,
98
100
  **kwargs,
@@ -107,6 +109,8 @@ class DCN(BaseModel):
107
109
  dense_features=dense_features,
108
110
  sparse_features=sparse_features,
109
111
  sequence_features=sequence_features,
112
+ target=target,
113
+ task=task,
110
114
  **kwargs,
111
115
  )
112
116
 
@@ -191,6 +191,8 @@ class DCNv2(BaseModel):
191
191
  dense_features: list[DenseFeature] | None = None,
192
192
  sparse_features: list[SparseFeature] | None = None,
193
193
  sequence_features: list[SequenceFeature] | None = None,
194
+ target: str | list[str] | None = None,
195
+ task: str | list[str] | None = None,
194
196
  cross_num: int = 3,
195
197
  cross_type: Literal["matrix", "mix", "low_rank"] = "matrix",
196
198
  architecture: Literal["parallel", "stacked"] = "parallel",
@@ -208,6 +210,8 @@ class DCNv2(BaseModel):
208
210
  dense_features=dense_features,
209
211
  sparse_features=sparse_features,
210
212
  sequence_features=sequence_features,
213
+ target=target,
214
+ task=task,
211
215
  **kwargs,
212
216
  )
213
217
 
@@ -61,6 +61,8 @@ class DeepFM(BaseModel):
61
61
  dense_features: list[DenseFeature] | None = None,
62
62
  sparse_features: list[SparseFeature] | None = None,
63
63
  sequence_features: list[SequenceFeature] | None = None,
64
+ target: str | list[str] | None = None,
65
+ task: str | list[str] | None = None,
64
66
  mlp_params: dict | None = None,
65
67
  **kwargs,
66
68
  ):
@@ -74,6 +76,8 @@ class DeepFM(BaseModel):
74
76
  dense_features=dense_features,
75
77
  sparse_features=sparse_features,
76
78
  sequence_features=sequence_features,
79
+ target=target,
80
+ task=task,
77
81
  **kwargs,
78
82
  )
79
83
 
@@ -203,6 +203,8 @@ class DIEN(BaseModel):
203
203
  dense_features: list[DenseFeature] | None = None,
204
204
  sparse_features: list[SparseFeature] | None = None,
205
205
  sequence_features: list[SequenceFeature] | None = None,
206
+ target: str | list[str] | None = None,
207
+ task: str | list[str] | None = None,
206
208
  behavior_feature_name: str | None = None,
207
209
  candidate_feature_name: str | None = None,
208
210
  neg_behavior_feature_name: str | None = None,
@@ -226,6 +228,8 @@ class DIEN(BaseModel):
226
228
  dense_features=dense_features,
227
229
  sparse_features=sparse_features,
228
230
  sequence_features=sequence_features,
231
+ target=target,
232
+ task=task,
229
233
  **kwargs,
230
234
  )
231
235
 
@@ -72,6 +72,8 @@ class DIN(BaseModel):
72
72
  dense_features: list[DenseFeature] | None = None,
73
73
  sparse_features: list[SparseFeature] | None = None,
74
74
  sequence_features: list[SequenceFeature] | None = None,
75
+ target: str | list[str] | None = None,
76
+ task: str | list[str] | None = None,
75
77
  behavior_feature_name: str | None = None,
76
78
  candidate_feature_name: str | None = None,
77
79
  mlp_params: dict | None = None,
@@ -92,6 +94,8 @@ class DIN(BaseModel):
92
94
  dense_features=dense_features,
93
95
  sparse_features=sparse_features,
94
96
  sequence_features=sequence_features,
97
+ target=target,
98
+ task=task,
95
99
  **kwargs,
96
100
  )
97
101
 
@@ -199,6 +199,8 @@ class EulerNet(BaseModel):
199
199
  dense_features: list[DenseFeature] | None = None,
200
200
  sparse_features: list[SparseFeature] | None = None,
201
201
  sequence_features: list[SequenceFeature] | None = None,
202
+ target: str | list[str] | None = None,
203
+ task: str | list[str] | None = None,
202
204
  num_layers: int = 2,
203
205
  num_orders: int = 8,
204
206
  use_implicit: bool = True,
@@ -215,6 +217,8 @@ class EulerNet(BaseModel):
215
217
  dense_features=dense_features,
216
218
  sparse_features=sparse_features,
217
219
  sequence_features=sequence_features,
220
+ target=target,
221
+ task=task,
218
222
  **kwargs,
219
223
  )
220
224
 
@@ -62,6 +62,8 @@ class FFM(BaseModel):
62
62
  dense_features: list[DenseFeature] | None = None,
63
63
  sparse_features: list[SparseFeature] | None = None,
64
64
  sequence_features: list[SequenceFeature] | None = None,
65
+ target: str | list[str] | None = None,
66
+ task: str | list[str] | None = None,
65
67
  **kwargs,
66
68
  ):
67
69
  dense_features = dense_features or []
@@ -72,6 +74,8 @@ class FFM(BaseModel):
72
74
  dense_features=dense_features,
73
75
  sparse_features=sparse_features,
74
76
  sequence_features=sequence_features,
77
+ target=target,
78
+ task=task,
75
79
  **kwargs,
76
80
  )
77
81
 
@@ -68,6 +68,8 @@ class FiBiNET(BaseModel):
68
68
  dense_features: list[DenseFeature] | None = None,
69
69
  sparse_features: list[SparseFeature] | None = None,
70
70
  sequence_features: list[SequenceFeature] | None = None,
71
+ target: str | list[str] | None = None,
72
+ task: str | list[str] | None = None,
71
73
  mlp_params: dict | None = None,
72
74
  interaction_combo: Literal[
73
75
  "01", "11", "10", "00"
@@ -88,6 +90,8 @@ class FiBiNET(BaseModel):
88
90
  dense_features=dense_features,
89
91
  sparse_features=sparse_features,
90
92
  sequence_features=sequence_features,
93
+ target=target,
94
+ task=task,
91
95
  **kwargs,
92
96
  )
93
97
 
@@ -59,6 +59,8 @@ class FM(BaseModel):
59
59
  dense_features: list[DenseFeature] | None = None,
60
60
  sparse_features: list[SparseFeature] | None = None,
61
61
  sequence_features: list[SequenceFeature] | None = None,
62
+ target: str | list[str] | None = None,
63
+ task: str | list[str] | None = None,
62
64
  **kwargs,
63
65
  ):
64
66
 
@@ -70,6 +72,8 @@ class FM(BaseModel):
70
72
  dense_features=dense_features,
71
73
  sparse_features=sparse_features,
72
74
  sequence_features=sequence_features,
75
+ target=target,
76
+ task=task,
73
77
  **kwargs,
74
78
  )
75
79
 
@@ -58,6 +58,8 @@ class LR(BaseModel):
58
58
  dense_features: list[DenseFeature] | None = None,
59
59
  sparse_features: list[SparseFeature] | None = None,
60
60
  sequence_features: list[SequenceFeature] | None = None,
61
+ target: str | list[str] | None = None,
62
+ task: str | list[str] | None = None,
61
63
  **kwargs,
62
64
  ):
63
65
 
@@ -69,6 +71,8 @@ class LR(BaseModel):
69
71
  dense_features=dense_features,
70
72
  sparse_features=sparse_features,
71
73
  sequence_features=sequence_features,
74
+ target=target,
75
+ task=task,
72
76
  **kwargs,
73
77
  )
74
78
 
@@ -166,6 +166,8 @@ class MaskNet(BaseModel):
166
166
  dense_features: list[DenseFeature] | None = None,
167
167
  sparse_features: list[SparseFeature] | None = None,
168
168
  sequence_features: list[SequenceFeature] | None = None,
169
+ target: str | list[str] | None = None,
170
+ task: str | list[str] | None = None,
169
171
  architecture: Literal[
170
172
  "serial", "parallel"
171
173
  ] = "parallel", # "serial" or "parallel"
@@ -185,6 +187,8 @@ class MaskNet(BaseModel):
185
187
  dense_features=dense_features,
186
188
  sparse_features=sparse_features,
187
189
  sequence_features=sequence_features,
190
+ target=target,
191
+ task=task,
188
192
  **kwargs,
189
193
  )
190
194
 
@@ -57,6 +57,8 @@ class PNN(BaseModel):
57
57
  dense_features: list[DenseFeature] | None = None,
58
58
  sparse_features: list[SparseFeature] | None = None,
59
59
  sequence_features: list[SequenceFeature] | None = None,
60
+ target: str | list[str] | None = None,
61
+ task: str | list[str] | None = None,
60
62
  mlp_params: dict | None = None,
61
63
  product_type: Literal[
62
64
  "inner", "outer", "both"
@@ -76,6 +78,8 @@ class PNN(BaseModel):
76
78
  dense_features=dense_features,
77
79
  sparse_features=sparse_features,
78
80
  sequence_features=sequence_features,
81
+ target=target,
82
+ task=task,
79
83
  **kwargs,
80
84
  )
81
85
 
@@ -57,14 +57,20 @@ class WideDeep(BaseModel):
57
57
  dense_features: list[DenseFeature],
58
58
  sparse_features: list[SparseFeature],
59
59
  sequence_features: list[SequenceFeature],
60
- mlp_params: dict,
60
+ target: str | list[str] | None = None,
61
+ task: str | list[str] | None = None,
62
+ mlp_params: dict | None = None,
61
63
  **kwargs,
62
64
  ):
63
65
 
66
+ mlp_params = mlp_params or {}
67
+
64
68
  super(WideDeep, self).__init__(
65
69
  dense_features=dense_features,
66
70
  sparse_features=sparse_features,
67
71
  sequence_features=sequence_features,
72
+ target=target,
73
+ task=task,
68
74
  **kwargs,
69
75
  )
70
76
 
@@ -116,18 +116,23 @@ class xDeepFM(BaseModel):
116
116
  dense_features: list[DenseFeature],
117
117
  sparse_features: list[SparseFeature],
118
118
  sequence_features: list[SequenceFeature],
119
- mlp_params: dict,
119
+ target: str | list[str] | None = None,
120
+ task: str | list[str] | None = None,
121
+ mlp_params: dict | None = None,
120
122
  cin_size: list[int] | None = None,
121
123
  split_half: bool = True,
122
124
  **kwargs,
123
125
  ):
124
126
 
125
127
  cin_size = cin_size or [128, 128]
128
+ mlp_params = mlp_params or {}
126
129
 
127
130
  super(xDeepFM, self).__init__(
128
131
  dense_features=dense_features,
129
132
  sparse_features=sparse_features,
130
133
  sequence_features=sequence_features,
134
+ target=target,
135
+ task=task,
131
136
  **kwargs,
132
137
  )
133
138
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nextrec
3
- Version: 0.4.29
3
+ Version: 0.4.31
4
4
  Summary: A comprehensive recommendation library with match, ranking, and multi-task learning models
5
5
  Project-URL: Homepage, https://github.com/zerolovesea/NextRec
6
6
  Project-URL: Repository, https://github.com/zerolovesea/NextRec
@@ -69,7 +69,7 @@ Description-Content-Type: text/markdown
69
69
  ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
70
70
  ![PyTorch](https://img.shields.io/badge/PyTorch-1.10+-ee4c2c.svg)
71
71
  ![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)
72
- ![Version](https://img.shields.io/badge/Version-0.4.29-orange.svg)
72
+ ![Version](https://img.shields.io/badge/Version-0.4.31-orange.svg)
73
73
  [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/zerolovesea/NextRec)
74
74
 
75
75
  中文文档 | [English Version](README_en.md)
@@ -254,11 +254,11 @@ nextrec --mode=predict --predict_config=path/to/predict_config.yaml
254
254
 
255
255
  预测结果固定保存到 `{checkpoint_path}/predictions/{name}.{save_data_format}`。
256
256
 
257
- > 截止当前版本0.4.29,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
257
+ > 截止当前版本0.4.31,NextRec CLI支持单机训练,分布式训练相关功能尚在开发中。
258
258
 
259
259
  ## 兼容平台
260
260
 
261
- 当前最新版本为0.4.29,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
261
+ 当前最新版本为0.4.31,所有模型和测试代码均已在以下平台通过验证,如果开发者在使用中遇到兼容问题,请在issue区提出错误报告及系统版本:
262
262
 
263
263
  | 平台 | 配置 |
264
264
  |------|------|
@@ -1,6 +1,6 @@
1
1
  nextrec/__init__.py,sha256=_M3oUqyuvQ5k8Th_3wId6hQ_caclh7M5ad51XN09m98,235
2
- nextrec/__version__.py,sha256=LtSKwkqgueDQK6uLnhs8HgKylJHH36EMo48UDeHgv2Y,23
3
- nextrec/cli.py,sha256=uOaXnlAM-ARrbxKOVWWkTE_rv-54px168kBhFUHtIAg,25073
2
+ nextrec/__version__.py,sha256=3w2Z9VwNeAAXivgSAMMwqgJrAaUllRP_T-sKqxgdcns,23
3
+ nextrec/cli.py,sha256=WDiJqEzDLRCP8S_0EsBWgVAg_G2rF7mPNGfdlhZ-nO4,25181
4
4
  nextrec/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  nextrec/basic/activation.py,sha256=uekcJsOy8SiT0_NaDO2VNSStyYFzVikDFVLDk-VrjwQ,2949
6
6
  nextrec/basic/asserts.py,sha256=U1EKovV_OT7_Mm99zFvdfF2hccFREp3gdDaeRjfiBwQ,2249
@@ -41,22 +41,22 @@ nextrec/models/multi_task/ple.py,sha256=cO-NqEm-UZKRz2MznBjqsXL8ImH7WU1HRzXdWAtb
41
41
  nextrec/models/multi_task/poso.py,sha256=Xjw9JBAiGR9CGewp1uS4b1soA7fOvSWTsIT6pS9_o30,18215
42
42
  nextrec/models/multi_task/share_bottom.py,sha256=BT-nu0NZTV4HlFkva_KnoKLSxB0-gYuJWPw7PRDGwC8,5172
43
43
  nextrec/models/ranking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- nextrec/models/ranking/afm.py,sha256=CNiWdGcp9pQiEBbv10HPT5I2NnJlXqvEHZKIm-J-Q44,9189
45
- nextrec/models/ranking/autoint.py,sha256=q2C1pGZxQ0SchYMJWzD3EOeaiU3Kp7Xn57-Iidwj4IA,7051
46
- nextrec/models/ranking/dcn.py,sha256=fD0xBGDYtytGlfnNX6GNMkim4DDlZa-JutLu7q9L_hU,6471
47
- nextrec/models/ranking/dcn_v2.py,sha256=39mZPr33xGgE9zOJfoZceWv993LG9EqsNW4W8xS0duc,10174
48
- nextrec/models/ranking/deepfm.py,sha256=xAPjoZnam4T2yvBE07VAeqZt3vJeblOxyAAeTerBnRo,4196
49
- nextrec/models/ranking/dien.py,sha256=OhLp5XiXIZqyP47H7dfdMRZIIyTQVGWZqTt48wdOLxY,18153
50
- nextrec/models/ranking/din.py,sha256=ezhw1N35537RXQ9lGuyIN-9LhBKOJapZK8PQdioTVFA,8647
51
- nextrec/models/ranking/eulernet.py,sha256=sYOReqVY7P4s-3GwRObFn4U6WoCVubtiMk3kN6P4iKY,11276
52
- nextrec/models/ranking/ffm.py,sha256=xGK0K6sXQisJRhtM3q1P_hNEJ4Kletu4q4OIUcFFAZk,10304
53
- nextrec/models/ranking/fibinet.py,sha256=URjm2oHIE5vx_wEriZCfkaNUuJ6YTLEVG4U9uYieMbA,7075
54
- nextrec/models/ranking/fm.py,sha256=FJ4JbhIEYZk7UtttiOhUrCsJDcjzJTN8-L4qCv9ch4E,3587
55
- nextrec/models/ranking/lr.py,sha256=bfAcXuw1HGbPyDVnGK8hqe0kNpqSz4xdr-oSGXFus1E,3019
56
- nextrec/models/ranking/masknet.py,sha256=EWdiErRvAe4kFG-U0i2Tz3Yh_Vf-nXZNVbm6KwDYtwY,11398
57
- nextrec/models/ranking/pnn.py,sha256=iW3LgAKqZ1Rqzbl-8Jte9wgVyYIMzi76nDwTW78DkMU,7340
58
- nextrec/models/ranking/widedeep.py,sha256=EuBHnczCIT0OGxnuYEAB-5RHB_lC3Ow6xIMj9CB8o5k,4006
59
- nextrec/models/ranking/xdeepfm.py,sha256=MOpVsS5CQMV9scBD_WJlaBHkl2ZViq1Mjjk6Glciz4w,7247
44
+ nextrec/models/ranking/afm.py,sha256=lLcsWB1wOaiVJEn9rtNu2EOqXCP0LIPij7d6Jo9r8KM,9331
45
+ nextrec/models/ranking/autoint.py,sha256=vY4Lp3a5007hzXp-38lmdlLcbcI4ImVELGMV7SuWzuM,7193
46
+ nextrec/models/ranking/dcn.py,sha256=C6sYVCExCzhuInmNaTAyUTABcx1zYi_DCE0QoWmG3Zg,6613
47
+ nextrec/models/ranking/dcn_v2.py,sha256=5nT8rP3_0g7Uy-Kaasw_xQDu6bshOiZBCjO3SKqjKjE,10316
48
+ nextrec/models/ranking/deepfm.py,sha256=AhP20JPT1EAa6_8mw8IbJj6OoD7Epu74iFTAEvU20LM,4338
49
+ nextrec/models/ranking/dien.py,sha256=SqgJqSNuPDiREEzMFYyqQcoWBowJj5M4Q16BGt-aHXc,18295
50
+ nextrec/models/ranking/din.py,sha256=fMkQ3ZzROuafbd8UY4IBst3OU_5FF3mSJMmuOPh-6ko,8789
51
+ nextrec/models/ranking/eulernet.py,sha256=aiDBmx2K90r2Zkg5Wqc8SaK1oIAhKaFG3lJ2hkbJTCs,11418
52
+ nextrec/models/ranking/ffm.py,sha256=a4OaauKltUUF9rUV-B1qyG54r3wYN2oRT_r-ljEyLSM,10446
53
+ nextrec/models/ranking/fibinet.py,sha256=fMe1PSIghyt7ccca0V-o0L_vFAx62S50na6VntmCns0,7217
54
+ nextrec/models/ranking/fm.py,sha256=qwQ_QdBn5PTMYhCDGict8JU5kdVLbk_6ZLhg1H1IdRg,3729
55
+ nextrec/models/ranking/lr.py,sha256=ZpWbM9aMn3tzWlbe8RMmhVz0QBnIeTs5rVDINc0E11I,3161
56
+ nextrec/models/ranking/masknet.py,sha256=h5fE4iG-YLEEpDl9gpOcJgvUsAWQGvXexojyLsrURTQ,11540
57
+ nextrec/models/ranking/pnn.py,sha256=fFcOo4QQjA-dB_yEpOLAtFG4ZrkwpBfFo_FrPry3V9s,7482
58
+ nextrec/models/ranking/widedeep.py,sha256=bW53VPVt7xz3c16pO2JXArp346zEQbG3NAGNqZga8G4,4201
59
+ nextrec/models/ranking/xdeepfm.py,sha256=1H230whaeZ_uqgZsTE-jIrEmwTQPKv_7DnAcYJ6vZvg,7441
60
60
  nextrec/models/representation/__init__.py,sha256=O3QHMMXBszwM-mTl7bA3wawNZvDGet-QIv6Ys5GHGJ8,190
61
61
  nextrec/models/representation/autorec.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  nextrec/models/representation/bpr.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -83,8 +83,8 @@ nextrec/utils/loss.py,sha256=GBWQGpDaYkMJySpdG078XbeUNXUC34PVqFy0AqNS9N0,4578
83
83
  nextrec/utils/model.py,sha256=PI9y8oWz1lhktgapZsiXb8rTr2NrFFlc80tr4yOFHik,5334
84
84
  nextrec/utils/torch_utils.py,sha256=UQpWS7F3nITYqvx2KRBaQJc9oTowRkIvowhuQLt6NFM,11953
85
85
  nextrec/utils/types.py,sha256=VhtLXUVvu0zAZVAUgRUML4FExRC-GH-ZmC1UiVSr3HE,1523
86
- nextrec-0.4.29.dist-info/METADATA,sha256=07uY-tjvX77s4-doAM2zh5nCeptFxbzvBAv6BQdMvLU,23188
87
- nextrec-0.4.29.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
88
- nextrec-0.4.29.dist-info/entry_points.txt,sha256=NN-dNSdfMRTv86bNXM7d3ZEPW2BQC6bRi7QP7i9cIps,45
89
- nextrec-0.4.29.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
90
- nextrec-0.4.29.dist-info/RECORD,,
86
+ nextrec-0.4.31.dist-info/METADATA,sha256=Pzyzo1FUubvkQEQno1BSaTRWR3NPuV5jGSuketmg0oc,23188
87
+ nextrec-0.4.31.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
88
+ nextrec-0.4.31.dist-info/entry_points.txt,sha256=NN-dNSdfMRTv86bNXM7d3ZEPW2BQC6bRi7QP7i9cIps,45
89
+ nextrec-0.4.31.dist-info/licenses/LICENSE,sha256=2fQfVKeafywkni7MYHyClC6RGGC3laLTXCNBx-ubtp0,1064
90
+ nextrec-0.4.31.dist-info/RECORD,,