rosetta-cli 2.0.0b109__tar.gz → 2.0.2__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.
Files changed (33) hide show
  1. {rosetta_cli-2.0.0b109/rosetta_cli.egg-info → rosetta_cli-2.0.2}/PKG-INFO +2 -2
  2. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/pyproject.toml +2 -2
  3. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/cli.py +2 -0
  4. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/ims_config.py +18 -3
  5. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2/rosetta_cli.egg-info}/PKG-INFO +2 -2
  6. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/MANIFEST.in +0 -0
  7. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/README.md +0 -0
  8. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/env.template +0 -0
  9. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/__init__.py +0 -0
  10. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/__main__.py +0 -0
  11. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/commands/__init__.py +0 -0
  12. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/commands/base_command.py +0 -0
  13. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/commands/cleanup_command.py +0 -0
  14. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/commands/list_command.py +0 -0
  15. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/commands/parse_command.py +0 -0
  16. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/commands/publish_command.py +0 -0
  17. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/commands/verify_command.py +0 -0
  18. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/ims_auth.py +0 -0
  19. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/ims_publisher.py +0 -0
  20. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/ims_utils.py +0 -0
  21. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/ragflow_client.py +0 -0
  22. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/services/__init__.py +0 -0
  23. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/services/auth_service.py +0 -0
  24. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/services/dataset_service.py +0 -0
  25. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/services/document_data.py +0 -0
  26. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/services/document_service.py +0 -0
  27. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli/typing_utils.py +0 -0
  28. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli.egg-info/SOURCES.txt +0 -0
  29. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli.egg-info/dependency_links.txt +0 -0
  30. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli.egg-info/entry_points.txt +0 -0
  31. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli.egg-info/requires.txt +0 -0
  32. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/rosetta_cli.egg-info/top_level.txt +0 -0
  33. {rosetta_cli-2.0.0b109 → rosetta_cli-2.0.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rosetta-cli
3
- Version: 2.0.0b109
3
+ Version: 2.0.2
4
4
  Summary: Rosetta CLI for publishing knowledge base content to RAGFlow
5
5
  Author: Igor Solomatov
6
6
  License-Expression: Apache-2.0
@@ -9,7 +9,7 @@ Project-URL: Discord, https://discord.gg/QzZ2cWg36g
9
9
  Project-URL: Website, https://griddynamics.github.io/rosetta/
10
10
  Project-URL: Support, https://github.com/griddynamics/rosetta/issues
11
11
  Keywords: rosetta,ragflow,cli,knowledge-base,publishing
12
- Classifier: Development Status :: 4 - Beta
12
+ Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.12
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rosetta-cli"
7
- version = "2.0.0b109"
7
+ version = "2.0.2"
8
8
  description = "Rosetta CLI for publishing knowledge base content to RAGFlow"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -14,7 +14,7 @@ authors = [
14
14
  ]
15
15
  keywords = ["rosetta", "ragflow", "cli", "knowledge-base", "publishing"]
16
16
  classifiers = [
17
- "Development Status :: 4 - Beta",
17
+ "Development Status :: 5 - Production/Stable",
18
18
  "Intended Audience :: Developers",
19
19
  "Programming Language :: Python :: 3",
20
20
  "Programming Language :: Python :: 3.12",
@@ -346,6 +346,8 @@ Frontmatter Metadata (publish flow):
346
346
 
347
347
  # Validate configuration
348
348
  config.validate()
349
+
350
+ print(f"Rosetta Environment: {config.environment}")
349
351
 
350
352
  # Initialize RAGFlow client
351
353
  client = RAGFlowClient(
@@ -8,6 +8,7 @@ IMS publishing tools.
8
8
  import os
9
9
  from dataclasses import dataclass
10
10
  from pathlib import Path
11
+ from urllib.parse import urlparse
11
12
 
12
13
  from dotenv import load_dotenv
13
14
 
@@ -60,6 +61,16 @@ def find_env_file(env_name: str | None = None) -> Path | None:
60
61
  return None
61
62
 
62
63
 
64
+ def _first_subdomain(url: str) -> str | None:
65
+ """Extract first subdomain from URL. 'https://ims-dev.example.com/' -> 'ims-dev'."""
66
+ try:
67
+ hostname = urlparse(url).hostname or ""
68
+ parts = hostname.split(".")
69
+ return parts[0] if len(parts) > 1 else None
70
+ except Exception:
71
+ return None
72
+
73
+
63
74
  @dataclass
64
75
  class IMSConfig:
65
76
  """
@@ -77,7 +88,7 @@ class IMSConfig:
77
88
  RAGFLOW_AUTO_KEYWORDS: Auto-generate keywords per chunk (default: 0)
78
89
  RAGFLOW_AUTO_QUESTIONS: Auto-generate questions per chunk (default: 0)
79
90
  RAGFLOW_PAGE_SIZE: Page size for listing operations (default: 1000)
80
- RAGFLOW_PARSE_TIMEOUT: Timeout for parsing operations in seconds (default: 300)
91
+ RAGFLOW_PARSE_TIMEOUT: Timeout for parsing operations in seconds (default: 1200)
81
92
  ENVIRONMENT: Environment name (default: "local")
82
93
 
83
94
  Examples:
@@ -148,6 +159,9 @@ class IMSConfig:
148
159
  # Auto-discovery
149
160
  discovered_env_path = find_env_file(environment)
150
161
  if not discovered_env_path:
162
+ # Fall back to environment variables if already set (e.g., CI/CD)
163
+ if os.getenv("RAGFLOW_API_KEY"):
164
+ return cls.from_env_vars(environment=environment)
151
165
  env_hint = f" (tried .env.{environment} and .env)" if environment else " (tried .env)"
152
166
  raise FileNotFoundError(
153
167
  f"No .env file found{env_hint}\n"
@@ -190,7 +204,8 @@ class IMSConfig:
190
204
  dataset_default = os.getenv("RAGFLOW_DATASET_DEFAULT", "aia")
191
205
  dataset_template = os.getenv("RAGFLOW_DATASET_TEMPLATE", "aia-{release}")
192
206
  # fallback to ENVIRONMENT env var, or default to "local"
193
- environment = environment or os.getenv("ENVIRONMENT", "local") or "local"
207
+ if not environment:
208
+ environment = os.getenv("ENVIRONMENT") or _first_subdomain(base_url) or "local"
194
209
 
195
210
  # Dataset creation settings
196
211
  embedding_model = os.getenv("RAGFLOW_EMBEDDING_MODEL") or None
@@ -198,7 +213,7 @@ class IMSConfig:
198
213
 
199
214
  # Pagination and timeout settings
200
215
  page_size = int(os.getenv("RAGFLOW_PAGE_SIZE", "1000"))
201
- parse_timeout = int(os.getenv("RAGFLOW_PARSE_TIMEOUT", "300"))
216
+ parse_timeout = int(os.getenv("RAGFLOW_PARSE_TIMEOUT", "1200"))
202
217
 
203
218
  # Parser configuration for naive chunking
204
219
  parser_config: JsonDict | None = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rosetta-cli
3
- Version: 2.0.0b109
3
+ Version: 2.0.2
4
4
  Summary: Rosetta CLI for publishing knowledge base content to RAGFlow
5
5
  Author: Igor Solomatov
6
6
  License-Expression: Apache-2.0
@@ -9,7 +9,7 @@ Project-URL: Discord, https://discord.gg/QzZ2cWg36g
9
9
  Project-URL: Website, https://griddynamics.github.io/rosetta/
10
10
  Project-URL: Support, https://github.com/griddynamics/rosetta/issues
11
11
  Keywords: rosetta,ragflow,cli,knowledge-base,publishing
12
- Classifier: Development Status :: 4 - Beta
12
+ Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.12
File without changes
File without changes
File without changes