orbitkit 0.9.22__tar.gz → 0.9.23__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.
- {orbitkit-0.9.22/orbitkit.egg-info → orbitkit-0.9.23}/PKG-INFO +2 -3
- orbitkit-0.9.23/orbitkit/VERSION +1 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/filters/repeated_text.py +61 -6
- {orbitkit-0.9.22 → orbitkit-0.9.23/orbitkit.egg-info}/PKG-INFO +2 -3
- orbitkit-0.9.22/orbitkit/VERSION +0 -1
- {orbitkit-0.9.22 → orbitkit-0.9.23}/LICENSE +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/MANIFEST.in +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/README.md +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/airflow_handler/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/airflow_handler/data_preprocessing.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/airflow_handler/file_flow_entry.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/airflow_handler/file_flow_entry_process.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/airflow_handler/file_flow_exit_process.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/airflow_handler/file_handler.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/airflow_handler/file_handler_v2.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/audio_transcoder/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/audio_transcoder/netmind_extract_v1.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/constant/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/constant/report_schema.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/id_srv/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/id_srv/id_gen.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/id_srv/id_perm_like.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/lark_send/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/lark_send/lark.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/llm_tools/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/llm_tools/quick_rag_chat.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/orbit_type/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/orbit_type/doc_4_compile_rule.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/orbit_type/orbit_type_simple.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/orbit_type/tools.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_chunking/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_chunking/chunk_fallback.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_chunking/chunk_plan.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_chunking/page_limit.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_chunking/pdf_metadata.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_embedding/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_embedding/pdf_txt_embedding.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_embedding/pdf_txt_embedding_v2.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/a_stock_extractor_v1.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/exceptions.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/mineru_demo.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_block_extractor_base.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_block_extractor_v1.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_block_extractor_v2.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_extractor_azure.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_extractor_minerU_v1.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_extractor_netmind_v1.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_extractor_netmind_v2.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_extractor_netmind_v3.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor/pdf_extractor_orbit.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor_simple/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor_simple/base.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor_simple/cloud_provider.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor_simple/core.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor_simple/exceptions.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor_simple/extractors.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_extractor_simple/utils.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_pipeline_io/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_pipeline_io/cdn.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_pipeline_io/pg_task_store.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_quality/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_quality/failure_codes.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_quality/ocr_lang.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_quality/parse_record.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_quality/verdict.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_transformer/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_transformer/mineru/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_transformer/mineru/backends.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_transformer/mineru/bbox_rotation.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_transformer/mineru/result_transformer.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/filters/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/filters/drop_invalid_bbox.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/filters/drop_non_text.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/filters/drop_vlm_artifacts.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/pipeline.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/registry.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_validator/validate.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_writer/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/pdf_writer/pdf_writer_simple.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/__init__.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/cache_asset_downloader.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/common.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/customize_regix_manager.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/is_xbrl_structure.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/secret_manager.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/universal_extractor.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_aliyun.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_aliyun_oss_simple.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_aws.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_aws_s3_wrapper.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_date.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_html.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_kafka.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_md5.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_selenium.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_simple_timer.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_str.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_type_mapping.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit/util/util_url.py +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit.egg-info/SOURCES.txt +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit.egg-info/dependency_links.txt +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit.egg-info/not-zip-safe +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit.egg-info/requires.txt +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/orbitkit.egg-info/top_level.txt +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/setup.cfg +0 -0
- {orbitkit-0.9.22 → orbitkit-0.9.23}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: orbitkit
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.23
|
|
4
4
|
Summary: This project is only for Orbit Tech internal use.
|
|
5
5
|
Home-page: https://github.com/clown-0726/orbitkit
|
|
6
6
|
Author: Lilu Cao
|
|
@@ -45,7 +45,6 @@ Dynamic: description
|
|
|
45
45
|
Dynamic: description-content-type
|
|
46
46
|
Dynamic: home-page
|
|
47
47
|
Dynamic: license
|
|
48
|
-
Dynamic: license-file
|
|
49
48
|
Dynamic: maintainer
|
|
50
49
|
Dynamic: maintainer-email
|
|
51
50
|
Dynamic: platform
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.9.23
|
|
@@ -32,6 +32,14 @@ VLM/OCR 偶发在一个 block 里把某个短语连续复读很多次,例如::
|
|
|
32
32
|
filter**,因此质量闸门的复读退化率始终反映真实情况。它同时给出每个退化块的
|
|
33
33
|
**命中详情**(复读短语 / 重复次数 / 文本片段),进 ``x_parse_record`` 后
|
|
34
34
|
「退化率 0.054 该不该判死」才成为可复核的判断,而不是只有一个数字。
|
|
35
|
+
|
|
36
|
+
**不算复读的重复**(表格 / 图表 markdown 里成行出现是常态,不是模型退化):
|
|
37
|
+
|
|
38
|
+
1. markdown 表格分隔行 ``| --- | --- | --- |``——语法而非内容,整行不参与判定;
|
|
39
|
+
2. 占位符 / 空值 token(``-`` ``—`` ``na`` ``N/A`` ``none`` ``|`` 纯标点等)
|
|
40
|
+
对检测**透明**:既不计入短语,也不打断短语;
|
|
41
|
+
3. 复读短语必须含至少一个**实词**(≥2 个字母 / 汉字),纯数字、纯符号的
|
|
42
|
+
重复(``0 0 0 0``、``... ... ...``)不算。
|
|
35
43
|
"""
|
|
36
44
|
|
|
37
45
|
from __future__ import annotations
|
|
@@ -57,6 +65,21 @@ _MIN_BLOCK_WORDS = 4
|
|
|
57
65
|
|
|
58
66
|
_WORD_RE = re.compile(r"\S+")
|
|
59
67
|
|
|
68
|
+
# markdown 表格分隔行:| --- | :---: | ---: |(也允许无首尾竖线)
|
|
69
|
+
_MD_SEPARATOR_LINE_RE = re.compile(r"^\s*\|?\s*:?-{2,}:?\s*(\|\s*:?-{2,}:?\s*)*\|?\s*$")
|
|
70
|
+
|
|
71
|
+
# 占位符 / 空值 token(小写比较):表格里成行出现是常态,对复读检测透明
|
|
72
|
+
_PLACEHOLDER_TOKENS = frozenset(
|
|
73
|
+
{
|
|
74
|
+
"na", "n/a", "n.a.", "n.a", "nan", "none", "non", "null", "nil",
|
|
75
|
+
"nm", "n.m.", "tbd", "tba", "n/d", "nd", "无", "暂无", "不适用",
|
|
76
|
+
"0", "0.0", "0.00", "0%", "0.0%", "0.00%",
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
# 实词:至少 2 个字母 / 汉字(含带重音的拉丁字母、日文、韩文等)
|
|
81
|
+
_REAL_WORD_RE = re.compile(r"[^\W\d_]{2,}")
|
|
82
|
+
|
|
60
83
|
# 样本片段截断长度:只为让人判断「是真复读还是页眉/表头」,不做内容留存
|
|
61
84
|
_SAMPLE_CHARS = 160
|
|
62
85
|
|
|
@@ -78,6 +101,38 @@ def _tokenize(text: str) -> Tuple[List[str], List[Tuple[int, int]]]:
|
|
|
78
101
|
return words, spans
|
|
79
102
|
|
|
80
103
|
|
|
104
|
+
def _is_placeholder(word: str) -> bool:
|
|
105
|
+
"""占位符 / 空值 / 纯标点 token:对复读检测透明。"""
|
|
106
|
+
if not any(ch.isalnum() for ch in word):
|
|
107
|
+
return True # 纯符号:| - — … / * ○ √ × ...
|
|
108
|
+
return word.lower() in _PLACEHOLDER_TOKENS
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def _content_tokens(text: str) -> Tuple[List[str], List[Tuple[int, int]]]:
|
|
112
|
+
"""复读检测用的词序列:剔除 markdown 分隔行与占位符 token。
|
|
113
|
+
|
|
114
|
+
返回的 spans 仍是**原串**字符区间,trim 据此在原串上挖段;被剔除的 token
|
|
115
|
+
不出现在序列里,因此既不计入短语也不打断短语。
|
|
116
|
+
"""
|
|
117
|
+
words: List[str] = []
|
|
118
|
+
spans: List[Tuple[int, int]] = []
|
|
119
|
+
offset = 0
|
|
120
|
+
for line in text.splitlines(keepends=True):
|
|
121
|
+
if not _MD_SEPARATOR_LINE_RE.match(line):
|
|
122
|
+
for m in _WORD_RE.finditer(line):
|
|
123
|
+
word = m.group(0)
|
|
124
|
+
if _is_placeholder(word):
|
|
125
|
+
continue
|
|
126
|
+
words.append(word)
|
|
127
|
+
spans.append((offset + m.start(), offset + m.end()))
|
|
128
|
+
offset += len(line)
|
|
129
|
+
return words, spans
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
def _has_real_word(phrase: Sequence[str]) -> bool:
|
|
133
|
+
return any(_REAL_WORD_RE.search(w) for w in phrase)
|
|
134
|
+
|
|
135
|
+
|
|
81
136
|
def _find_runaway_repeats(
|
|
82
137
|
words: List[str], *, max_n: int, min_reps: int
|
|
83
138
|
) -> List[Tuple[int, int, int]]:
|
|
@@ -99,7 +154,7 @@ def _find_runaway_repeats(
|
|
|
99
154
|
while j + n <= n_words and words[j : j + n] == words[i : i + n]:
|
|
100
155
|
reps += 1
|
|
101
156
|
j += n
|
|
102
|
-
if reps >= min_reps:
|
|
157
|
+
if reps >= min_reps and _has_real_word(words[i : i + n]):
|
|
103
158
|
candidates.append((reps * n, i, n))
|
|
104
159
|
reps_of[(i, n)] = reps
|
|
105
160
|
i = j # 跳过整段,避免重复检测子段
|
|
@@ -139,7 +194,7 @@ def has_runaway_repetition(
|
|
|
139
194
|
只判定、不改文本,供统计「退化块占比」用。短于 ``min_words`` 的文本一律
|
|
140
195
|
返回 ``False``(真实短句可能有正常重复)。
|
|
141
196
|
"""
|
|
142
|
-
words, _ =
|
|
197
|
+
words, _ = _content_tokens(text or "")
|
|
143
198
|
if len(words) < min_words:
|
|
144
199
|
return False
|
|
145
200
|
return bool(_find_runaway_repeats(words, max_n=max_n, min_reps=min_reps))
|
|
@@ -215,7 +270,7 @@ def find_degenerate_blocks(blocks: Sequence[dict]) -> Dict[int, Sample]:
|
|
|
215
270
|
found: Dict[int, Sample] = {}
|
|
216
271
|
for i, b in enumerate(blocks):
|
|
217
272
|
text = b.get("sentence") or ""
|
|
218
|
-
words, spans =
|
|
273
|
+
words, spans = _content_tokens(text)
|
|
219
274
|
if len(words) < _MIN_WORDS:
|
|
220
275
|
continue
|
|
221
276
|
run = _find_runaway_repeat(words, max_n=_MAX_N, min_reps=_MIN_REPS)
|
|
@@ -297,7 +352,7 @@ def trim_repeated_text(block: dict) -> Optional[dict]:
|
|
|
297
352
|
(可能是合法用词),删掉其余重复。
|
|
298
353
|
"""
|
|
299
354
|
text = block.get("sentence") or ""
|
|
300
|
-
words, spans =
|
|
355
|
+
words, spans = _content_tokens(text)
|
|
301
356
|
if len(words) < _MIN_WORDS:
|
|
302
357
|
return block
|
|
303
358
|
|
|
@@ -321,7 +376,7 @@ def trim_repeated_text(block: dict) -> Optional[dict]:
|
|
|
321
376
|
def drop_repeated_text(block: dict) -> Optional[dict]:
|
|
322
377
|
"""复读段主导整块(覆盖词数占比 ≥ 阈值)时整块丢弃,否则保留。"""
|
|
323
378
|
text = block.get("sentence") or ""
|
|
324
|
-
words, _spans =
|
|
379
|
+
words, _spans = _content_tokens(text)
|
|
325
380
|
if len(words) < _MIN_WORDS:
|
|
326
381
|
return block
|
|
327
382
|
|
|
@@ -332,4 +387,4 @@ def drop_repeated_text(block: dict) -> Optional[dict]:
|
|
|
332
387
|
covered = sum(n * reps for _start, n, reps in runs)
|
|
333
388
|
if covered / len(words) >= _DROP_COVER_FRACTION:
|
|
334
389
|
return None
|
|
335
|
-
return block
|
|
390
|
+
return block
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: orbitkit
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.23
|
|
4
4
|
Summary: This project is only for Orbit Tech internal use.
|
|
5
5
|
Home-page: https://github.com/clown-0726/orbitkit
|
|
6
6
|
Author: Lilu Cao
|
|
@@ -45,7 +45,6 @@ Dynamic: description
|
|
|
45
45
|
Dynamic: description-content-type
|
|
46
46
|
Dynamic: home-page
|
|
47
47
|
Dynamic: license
|
|
48
|
-
Dynamic: license-file
|
|
49
48
|
Dynamic: maintainer
|
|
50
49
|
Dynamic: maintainer-email
|
|
51
50
|
Dynamic: platform
|
orbitkit-0.9.22/orbitkit/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.9.22
|
|
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
|
|
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
|
|
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
|