valar 1.3.0__py3-none-any.whl → 1.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import jwt
2
2
  from django.conf import settings
3
3
 
4
- from src.valar.classes.valar_response import ValarResponse
4
+ from ..classes.valar_response import ValarResponse
5
5
 
6
6
 
7
7
  def auth_required(view_func):
valar/auth/Middleware.py CHANGED
@@ -4,8 +4,8 @@ import json
4
4
  from django.http import HttpRequest
5
5
  from django.utils.deprecation import MiddlewareMixin
6
6
 
7
- from src.valar.auth.Authentication import validate
8
- from src.valar.classes.valar_response import ValarResponse
7
+ from ..auth.Authentication import validate
8
+ from ..classes.valar_response import ValarResponse
9
9
 
10
10
 
11
11
  class ValarMiddleware(MiddlewareMixin):
@@ -0,0 +1,285 @@
1
+ # Generated by Django 4.2.23 on 2025-09-06 15:12
2
+
3
+ from django.db import migrations, models
4
+ import django.db.models.deletion
5
+
6
+
7
+ class Migration(migrations.Migration):
8
+
9
+ initial = True
10
+
11
+ dependencies = [
12
+ ]
13
+
14
+ operations = [
15
+ migrations.CreateModel(
16
+ name='Meta',
17
+ fields=[
18
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
19
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
20
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
21
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
22
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
23
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
24
+ ('db', models.CharField(max_length=100, null=True, verbose_name='数据库')),
25
+ ('entity', models.CharField(max_length=100, null=True, verbose_name='数据源')),
26
+ ('name', models.CharField(max_length=50, null=True, verbose_name='实体别名')),
27
+ ('tree', models.BooleanField(default=False, verbose_name='是否树形')),
28
+ ],
29
+ options={
30
+ 'verbose_name': '数据实体',
31
+ 'unique_together': {('db', 'entity')},
32
+ },
33
+ ),
34
+ migrations.CreateModel(
35
+ name='MetaFieldTool',
36
+ fields=[
37
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
38
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
39
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
40
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
41
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
42
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
43
+ ('pid', models.IntegerField(default=0, verbose_name='父节点')),
44
+ ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
45
+ ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
46
+ ('name', models.CharField(max_length=255, null=True, verbose_name='名称')),
47
+ ('code', models.CharField(max_length=100, null=True, unique=True, verbose_name='代码')),
48
+ ('align', models.CharField(max_length=10, null=True, verbose_name='对齐方式')),
49
+ ],
50
+ options={
51
+ 'verbose_name': '元数据字段工具',
52
+ },
53
+ ),
54
+ migrations.CreateModel(
55
+ name='Role',
56
+ fields=[
57
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
58
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
59
+ ('name', models.CharField(max_length=50, null=True)),
60
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
61
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
62
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
63
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
64
+ ('duty', models.TextField(null=True, verbose_name='职责描述')),
65
+ ],
66
+ options={
67
+ 'verbose_name': '角色',
68
+ },
69
+ ),
70
+ migrations.CreateModel(
71
+ name='Valar',
72
+ fields=[
73
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
74
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
75
+ ('name', models.CharField(max_length=50, null=True)),
76
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
77
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
78
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
79
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
80
+ ('text_field', models.TextField(null=True, verbose_name='Text Field')),
81
+ ('boolean_field', models.BooleanField(null=True, verbose_name='Boolean Field')),
82
+ ('integer_field', models.IntegerField(null=True, verbose_name='Integer Field')),
83
+ ('float_field', models.FloatField(null=True, verbose_name='Float Field')),
84
+ ('date_field', models.DateField(null=True, verbose_name='Date Field')),
85
+ ('datetime_field', models.DateTimeField(null=True, verbose_name='Datetime Field')),
86
+ ('time_field', models.TimeField(null=True, verbose_name='Time Field')),
87
+ ('json_field', models.JSONField(null=True, verbose_name='Json Field')),
88
+ ('file', models.FileField(null=True, upload_to='', verbose_name='File Field')),
89
+ ],
90
+ options={
91
+ 'abstract': False,
92
+ },
93
+ ),
94
+ migrations.CreateModel(
95
+ name='Voo',
96
+ fields=[
97
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
98
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
99
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
100
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
101
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
102
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
103
+ ('name', models.CharField(max_length=100, null=True, verbose_name='Name')),
104
+ ('valar', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to='valar.valar', verbose_name='Valar')),
105
+ ],
106
+ options={
107
+ 'abstract': False,
108
+ },
109
+ ),
110
+ migrations.CreateModel(
111
+ name='Vmo',
112
+ fields=[
113
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
114
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
115
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
116
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
117
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
118
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
119
+ ('name', models.CharField(max_length=100, null=True, verbose_name='Name')),
120
+ ('valar', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='valar.valar', verbose_name='Valar')),
121
+ ],
122
+ options={
123
+ 'abstract': False,
124
+ },
125
+ ),
126
+ migrations.CreateModel(
127
+ name='Vmm',
128
+ fields=[
129
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
130
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
131
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
132
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
133
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
134
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
135
+ ('pid', models.IntegerField(default=0, verbose_name='父节点')),
136
+ ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
137
+ ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
138
+ ('name', models.CharField(max_length=100, null=True, verbose_name='name')),
139
+ ('valars', models.ManyToManyField(to='valar.valar', verbose_name='valars')),
140
+ ],
141
+ options={
142
+ 'abstract': False,
143
+ },
144
+ ),
145
+ migrations.CreateModel(
146
+ name='MetaView',
147
+ fields=[
148
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
149
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
150
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
151
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
152
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
153
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
154
+ ('property', models.JSONField(default=dict, verbose_name='属性')),
155
+ ('code', models.CharField(default='default ', max_length=50, verbose_name='类视图')),
156
+ ('name', models.CharField(max_length=50, null=True, verbose_name='视图名称')),
157
+ ('lock', models.BooleanField(default=False, verbose_name='锁定元数据')),
158
+ ('enable', models.BooleanField(default=True, verbose_name='是否启用')),
159
+ ('form_width', models.IntegerField(null=True, verbose_name='表单宽度')),
160
+ ('form_height', models.IntegerField(null=True, verbose_name='表单高度')),
161
+ ('table_width', models.IntegerField(null=True, verbose_name='表格宽度')),
162
+ ('table_height', models.IntegerField(null=True, verbose_name='表格高度')),
163
+ ('allow_search', models.BooleanField(default=True, verbose_name='检索功能')),
164
+ ('allow_order', models.BooleanField(default=True, verbose_name='排序功能')),
165
+ ('allow_insert', models.BooleanField(default=True, verbose_name='新增功能')),
166
+ ('allow_edit', models.BooleanField(default=True, verbose_name='编辑功能')),
167
+ ('allow_edit_on_form', models.BooleanField(default=True, verbose_name='表单编辑')),
168
+ ('allow_edit_on_cell', models.BooleanField(default=True, verbose_name='表内编辑')),
169
+ ('allow_edit_on_sort', models.BooleanField(default=True, verbose_name='移动功能')),
170
+ ('allow_remove', models.BooleanField(default=True, verbose_name='删除功能')),
171
+ ('allow_download', models.BooleanField(default=True, verbose_name='下载功能')),
172
+ ('allow_upload', models.BooleanField(default=True, verbose_name='上传功能')),
173
+ ('meta', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='valar.meta', verbose_name='元数据')),
174
+ ],
175
+ options={
176
+ 'verbose_name': '数据视图',
177
+ 'unique_together': {('meta', 'code')},
178
+ },
179
+ ),
180
+ migrations.CreateModel(
181
+ name='MetaFieldDomain',
182
+ fields=[
183
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
184
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
185
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
186
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
187
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
188
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
189
+ ('name', models.CharField(max_length=255, null=True, unique=True, verbose_name='名称')),
190
+ ('default', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='valar.metafieldtool', verbose_name='默认工具')),
191
+ ('tools', models.ManyToManyField(to='valar.metafieldtool', verbose_name='工具集')),
192
+ ],
193
+ options={
194
+ 'verbose_name': '元数据字段类型',
195
+ },
196
+ ),
197
+ migrations.CreateModel(
198
+ name='MetaField',
199
+ fields=[
200
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
201
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
202
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
203
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
204
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
205
+ ('prop', models.CharField(max_length=100, verbose_name='字段名称')),
206
+ ('label', models.CharField(max_length=100, verbose_name='字段标签')),
207
+ ('name', models.CharField(max_length=100, verbose_name='字段别名')),
208
+ ('domain', models.CharField(max_length=100, verbose_name='字段类型')),
209
+ ('tool', models.CharField(default='default', max_length=100, verbose_name='工具组件')),
210
+ ('refer', models.JSONField(default=dict, verbose_name='索引')),
211
+ ('format', models.JSONField(default=dict, verbose_name='格式')),
212
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
213
+ ('not_null', models.BooleanField(default=False, verbose_name='不为空')),
214
+ ('allow_edit', models.BooleanField(default=True, verbose_name='可编辑')),
215
+ ('allow_order', models.BooleanField(default=True, verbose_name='可排序')),
216
+ ('allow_search', models.BooleanField(default=True, verbose_name='可搜索')),
217
+ ('allow_download', models.BooleanField(default=True, verbose_name='可下载')),
218
+ ('allow_upload', models.BooleanField(default=True, verbose_name='可上传')),
219
+ ('allow_update', models.BooleanField(default=True, verbose_name='可更新')),
220
+ ('unit', models.CharField(max_length=55, null=True, verbose_name='单位符')),
221
+ ('column_width', models.FloatField(default=0, verbose_name='表头宽度')),
222
+ ('align', models.CharField(max_length=55, null=True, verbose_name='对齐方式')),
223
+ ('fixed', models.CharField(max_length=100, null=True, verbose_name='固定位置')),
224
+ ('header_color', models.CharField(max_length=55, null=True, verbose_name='表头颜色')),
225
+ ('cell_color', models.CharField(max_length=55, null=True, verbose_name='单元颜色')),
226
+ ('edit_on_table', models.BooleanField(default=True, verbose_name='表格编辑')),
227
+ ('hide_on_table', models.BooleanField(default=False, verbose_name='表内隐藏')),
228
+ ('span', models.IntegerField(default=0, verbose_name='表单占位')),
229
+ ('hide_on_form', models.BooleanField(default=False, verbose_name='表单隐藏')),
230
+ ('hide_on_form_edit', models.BooleanField(default=False, verbose_name='编辑隐藏')),
231
+ ('hide_on_form_insert', models.BooleanField(default=False, verbose_name='新增隐藏')),
232
+ ('hide_on_form_branch', models.BooleanField(default=False, verbose_name='分支隐藏')),
233
+ ('hide_on_form_leaf', models.BooleanField(default=False, verbose_name='叶子隐藏')),
234
+ ('view', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='valar.metaview', verbose_name='数据视图')),
235
+ ],
236
+ options={
237
+ 'verbose_name': '视图字段',
238
+ },
239
+ ),
240
+ migrations.CreateModel(
241
+ name='Account',
242
+ fields=[
243
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
244
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
245
+ ('name', models.CharField(max_length=50, null=True)),
246
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
247
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
248
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
249
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
250
+ ('username', models.CharField(max_length=255, null=True, unique=True, verbose_name='账号')),
251
+ ('password', models.CharField(max_length=255, verbose_name='密码')),
252
+ ('email', models.CharField(max_length=255, null=True, unique=True, verbose_name='邮箱')),
253
+ ('is_admin', models.BooleanField(default=False, verbose_name='超级管理员')),
254
+ ('is_active', models.BooleanField(default=False, verbose_name='激活状态')),
255
+ ('token', models.CharField(max_length=255, null=True, verbose_name='Token')),
256
+ ('roles', models.ManyToManyField(to='valar.role')),
257
+ ],
258
+ options={
259
+ 'verbose_name': '账户信息',
260
+ },
261
+ ),
262
+ migrations.CreateModel(
263
+ name='Menu',
264
+ fields=[
265
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
266
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
267
+ ('name', models.CharField(max_length=50, null=True)),
268
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
269
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
270
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
271
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
272
+ ('pid', models.IntegerField(default=0, verbose_name='父节点')),
273
+ ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
274
+ ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
275
+ ('scope', models.CharField(max_length=100, null=True, verbose_name='域')),
276
+ ('path', models.CharField(max_length=255, null=True, verbose_name='地址')),
277
+ ('is_admin', models.BooleanField(default=False, null=True, verbose_name='超管权限')),
278
+ ('roles', models.ManyToManyField(to='valar.role')),
279
+ ],
280
+ options={
281
+ 'verbose_name': '菜单',
282
+ 'unique_together': {('scope', 'path')},
283
+ },
284
+ ),
285
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: valar
3
- Version: 1.3.0
3
+ Version: 1.3.1
4
4
  Summary: valar for morghulis
5
5
  Home-page: https://gitee.com/GRIFFIN120/valar_dev
6
6
  Author: LYP
@@ -107,6 +107,15 @@ MONGO_URI = 'mongodb://username:password@host:27017'
107
107
  MINIO_URL = "s3://username:password@host:9000"
108
108
  MINIO_ROOT = "https://host:9001"
109
109
 
110
+ """ Email Options """
111
+ EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
112
+ EMAIL_HOST = 'xxx.xx.xx.xx'
113
+ EMAIL_PORT = 465
114
+ EMAIL_DOMAIN = 'http://xx.xx.xx'
115
+ EMAIL_HOST_USER = "xxx@xx.xx.xx"
116
+ EMAIL_HOST_PASSWORD = '*******'
117
+ EMAIL_USE_TLS = False
118
+ EMAIL_USE_SSL = True
110
119
  ```
111
120
 
112
121
  ## 2.2 asgi.py
@@ -200,3 +209,18 @@ channel_mapping = {
200
209
  }
201
210
 
202
211
  ```
212
+
213
+ # 5. create an orm model extends the AbstractUser class, enable the authentication of Valar
214
+
215
+ ```pycon
216
+
217
+ class User(AbstractUser):
218
+ """
219
+ any fields you want
220
+ """
221
+ description = models.TextField(null=True, verbose_name='备注')
222
+
223
+ class Meta:
224
+ verbose_name = 'User'
225
+
226
+ ```
@@ -1,8 +1,8 @@
1
1
  valar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  valar/apps.py,sha256=_FYAPq33FTimVOeSpdp6eQ8bWZBtT-tfG9lgZqGC3O8,746
3
3
  valar/urls.py,sha256=cKmlVu8TttqM8mVGmwE442DQHUs3zsubtUadyur_ofU,1349
4
- valar/auth/Authentication.py,sha256=qR6vi9U1r8uhGMGed7pL_GHkBws0NyZgPGlMjrwHinw,1151
5
- valar/auth/Middleware.py,sha256=zVEVHWFE2ThPg_j6cqS82ukdNCRHsf0nS1WVsEuh7eo,1050
4
+ valar/auth/Authentication.py,sha256=xjJagg1otAewj3Gtk7mjcYGnpWQJgnTqKgfHYcffDIc,1143
5
+ valar/auth/Middleware.py,sha256=8D0JVAigiqK-95n_p2fuaxalzuwv2KQpAoaL8Q0UN4E,1034
6
6
  valar/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  valar/channels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  valar/channels/consumer.py,sha256=fEP52wBHWccturn2QAkqOt9-_Fr8akiw95AoVc6dEMM,1395
@@ -32,6 +32,7 @@ valar/dao/defaults/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
32
32
  valar/dao/defaults/field_keys_default.py,sha256=JksKXn-X1DhODw2WOOzua8jrXcO-XR1HYvcNlxVK-E0,2140
33
33
  valar/dao/defaults/field_values_default.py,sha256=6zKPqbw0vJKW_9ilj6PC7IgDyayiWjHsNc4y7aVzuNw,3552
34
34
  valar/dao/defaults/view_defaults.py,sha256=v2wEgiaXqEcM4lcjM2uV83cLA5EJZf6qHfLZ7YJikIg,572
35
+ valar/migrations/0001_initial.py,sha256=zD6G8HX_f3OeI3bZH-3BXtvM-kTJ1L_gIR5MERZF3ng,19484
35
36
  valar/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
37
  valar/models/__init__.py,sha256=ueEan3T0sdZRiKJJrIpwrRj_6BXdKfMecIqKIqOGnzA,44
37
38
  valar/models/auth.py,sha256=9jmtHZuqavo07f2_j_M8yWvZvetc3nlbf9CHGabWwig,1610
@@ -46,8 +47,8 @@ valar/views/handler.py,sha256=C7-aRfoA6YvBVul9ioswMRSRvYmxslFF4ETTZBvjX6o,1417
46
47
  valar/views/meta.py,sha256=H3_raG-LEcfg1p_CBpluhPXBsLFQB_jtaI5CKGgYOKk,4774
47
48
  valar/views/password.py,sha256=O094qG8Sh4ilT_wpEMw4IZtAlcQjrDVcFD5BHaWKg2Q,2127
48
49
  valar/views/rest.py,sha256=HnmPR6_Q_NTtotaeDjfwIGwVG7eigtKBXfoaedUgar8,2349
49
- valar-1.3.0.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
50
- valar-1.3.0.dist-info/METADATA,sha256=2HTaGGCCvNawBwrwdQ6SaZDrz2AgkFLNCjMHf4kDLrw,4533
51
- valar-1.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
52
- valar-1.3.0.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
53
- valar-1.3.0.dist-info/RECORD,,
50
+ valar-1.3.1.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
51
+ valar-1.3.1.dist-info/METADATA,sha256=lWRdJY2eq3JWU4e-5ltw46j987Uko-gZCjsp6eHBHLc,5098
52
+ valar-1.3.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
53
+ valar-1.3.1.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
54
+ valar-1.3.1.dist-info/RECORD,,
File without changes