code-discovery 0.2.3__tar.gz → 0.3.0__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 (64) hide show
  1. {code_discovery-0.2.3 → code_discovery-0.3.0}/PKG-INFO +1 -1
  2. {code_discovery-0.2.3 → code_discovery-0.3.0}/setup.py +1 -1
  3. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/code_discovery.egg-info/PKG-INFO +1 -1
  4. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/detectors/base.py +0 -1
  5. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/main.py +1 -1
  6. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/utils/api_client.py +26 -11
  7. {code_discovery-0.2.3 → code_discovery-0.3.0}/.circleci/config.yml +0 -0
  8. {code_discovery-0.2.3 → code_discovery-0.3.0}/.codediscovery.example.yml +0 -0
  9. {code_discovery-0.2.3 → code_discovery-0.3.0}/.github/workflows/api-discovery.yml +0 -0
  10. {code_discovery-0.2.3 → code_discovery-0.3.0}/.gitlab-ci.yml +0 -0
  11. {code_discovery-0.2.3 → code_discovery-0.3.0}/.harness/api-discovery-pipeline.yml +0 -0
  12. {code_discovery-0.2.3 → code_discovery-0.3.0}/CONTRIBUTING.md +0 -0
  13. {code_discovery-0.2.3 → code_discovery-0.3.0}/Dockerfile +0 -0
  14. {code_discovery-0.2.3 → code_discovery-0.3.0}/Jenkinsfile +0 -0
  15. {code_discovery-0.2.3 → code_discovery-0.3.0}/LICENSE +0 -0
  16. {code_discovery-0.2.3 → code_discovery-0.3.0}/MANIFEST.in +0 -0
  17. {code_discovery-0.2.3 → code_discovery-0.3.0}/README.md +0 -0
  18. {code_discovery-0.2.3 → code_discovery-0.3.0}/docker-compose.yml +0 -0
  19. {code_discovery-0.2.3 → code_discovery-0.3.0}/requirements.txt +0 -0
  20. {code_discovery-0.2.3 → code_discovery-0.3.0}/setup.cfg +0 -0
  21. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/code_discovery.egg-info/SOURCES.txt +0 -0
  22. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/code_discovery.egg-info/dependency_links.txt +0 -0
  23. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/code_discovery.egg-info/entry_points.txt +0 -0
  24. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/code_discovery.egg-info/requires.txt +0 -0
  25. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/code_discovery.egg-info/top_level.txt +0 -0
  26. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/core/__init__.py +0 -0
  27. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/core/models.py +0 -0
  28. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/core/orchestrator.py +0 -0
  29. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/detectors/__init__.py +0 -0
  30. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/detectors/dotnet.py +0 -0
  31. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/detectors/java_micronaut.py +0 -0
  32. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/detectors/java_spring.py +0 -0
  33. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/detectors/python_fastapi.py +0 -0
  34. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/detectors/python_flask.py +0 -0
  35. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/enrichers/__init__.py +0 -0
  36. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/enrichers/base.py +0 -0
  37. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/enrichers/dotnet_enricher.py +0 -0
  38. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/enrichers/endpoint_enricher.py +0 -0
  39. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/enrichers/java_micronaut_enricher.py +0 -0
  40. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/enrichers/java_spring_enricher.py +0 -0
  41. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/enrichers/python_fastapi_enricher.py +0 -0
  42. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/enrichers/python_flask_enricher.py +0 -0
  43. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/generators/__init__.py +0 -0
  44. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/generators/openapi_generator.py +0 -0
  45. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/parsers/__init__.py +0 -0
  46. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/parsers/base.py +0 -0
  47. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/parsers/dotnet_parser.py +0 -0
  48. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/parsers/fastapi_parser.py +0 -0
  49. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/parsers/flask_parser.py +0 -0
  50. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/parsers/java_micronaut_parser.py +0 -0
  51. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/parsers/java_spring_parser.py +0 -0
  52. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/utils/__init__.py +0 -0
  53. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/utils/apisec_config.py +0 -0
  54. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/utils/build_parsers.py +0 -0
  55. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/utils/config.py +0 -0
  56. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/utils/state_manager.py +0 -0
  57. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/vcs/__init__.py +0 -0
  58. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/vcs/base.py +0 -0
  59. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/vcs/circleci.py +0 -0
  60. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/vcs/factory.py +0 -0
  61. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/vcs/github.py +0 -0
  62. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/vcs/gitlab.py +0 -0
  63. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/vcs/harness.py +0 -0
  64. {code_discovery-0.2.3 → code_discovery-0.3.0}/src/vcs/jenkins.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-discovery
3
- Version: 0.2.3
3
+ Version: 0.3.0
4
4
  Summary: Automatic API discovery system for multiple frameworks and VCS platforms
5
5
  Home-page: https://github.com/yourusername/codediscovery
6
6
  Author: Code Discovery Team
@@ -22,7 +22,7 @@ dev_requirements = [
22
22
 
23
23
  setup(
24
24
  name="code-discovery",
25
- version="0.2.3",
25
+ version="0.3.0",
26
26
  author="Code Discovery Team",
27
27
  author_email="team@codediscovery.dev",
28
28
  description="Automatic API discovery system for multiple frameworks and VCS platforms",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-discovery
3
- Version: 0.2.3
3
+ Version: 0.3.0
4
4
  Summary: Automatic API discovery system for multiple frameworks and VCS platforms
5
5
  Home-page: https://github.com/yourusername/codediscovery
6
6
  Author: Code Discovery Team
@@ -367,4 +367,3 @@ class BaseDetector(ABC):
367
367
  break # Found source root for this module, move to next
368
368
 
369
369
  return source_paths
370
-
@@ -73,7 +73,7 @@ Examples:
73
73
  version = importlib.metadata.version("code-discovery")
74
74
  except Exception:
75
75
  # Fallback if package not installed or metadata not available
76
- version = "0.2.3"
76
+ version = "0.3.0"
77
77
 
78
78
  parser.add_argument(
79
79
  "--version",
@@ -322,7 +322,9 @@ class APIClient:
322
322
  metadata: Optional[Dict[str, Any]] = None,
323
323
  ) -> str:
324
324
  """
325
- Get application name from OpenAPI spec or metadata.
325
+ Get application name from repository (VCS or path), then spec or fallback.
326
+
327
+ Prefers the repository name so the cloud platform application matches the repo.
326
328
 
327
329
  Args:
328
330
  openapi_spec: OpenAPI specification as dictionary.
@@ -331,16 +333,29 @@ class APIClient:
331
333
  Returns:
332
334
  str: Application name.
333
335
  """
334
- # Try to get from OpenAPI spec title first
335
- if 'info' in openapi_spec and 'title' in openapi_spec['info']:
336
- return openapi_spec['info']['title']
337
-
338
- # Try to get from metadata
339
- if metadata and 'repository_path' in metadata:
340
- import os
341
- return os.path.basename(metadata['repository_path'])
342
-
343
- # Default fallback
336
+ import os
337
+
338
+ # Prefer repository name from VCS URL (e.g. from GitHub/GitLab CI)
339
+ if metadata and metadata.get("vcs", {}).get("repository_url"):
340
+ repo_url = metadata["vcs"]["repository_url"].rstrip("/")
341
+ if repo_url.endswith(".git"):
342
+ repo_url = repo_url[:-4]
343
+ name = repo_url.split("/")[-1]
344
+ if name:
345
+ return name
346
+
347
+ # Else use repository path basename (e.g. directory name when run locally)
348
+ if metadata and metadata.get("repository_path"):
349
+ raw = metadata["repository_path"].rstrip("/")
350
+ resolved = os.path.abspath(raw) if raw else ""
351
+ name = os.path.basename(resolved) if resolved else ""
352
+ if name and name != ".":
353
+ return name
354
+
355
+ # Fall back to OpenAPI spec title
356
+ if "info" in openapi_spec and openapi_spec["info"].get("title"):
357
+ return openapi_spec["info"]["title"]
358
+
344
359
  return "discovered-api"
345
360
 
346
361
  def _reload_spec(
File without changes
File without changes
File without changes