Skip to content

feat: modernize project and introduce service execution#28

Merged
akalipetis merged 10 commits into
mainfrom
akalipetis-execute-services
May 19, 2026
Merged

feat: modernize project and introduce service execution#28
akalipetis merged 10 commits into
mainfrom
akalipetis-execute-services

Conversation

@akalipetis
Copy link
Copy Markdown
Contributor

  • add service execution foundation, to execute all available services
  • include a way to discover services.
  • switch from Poetry/black/isort to uv/ruff
  • add all authors

Copilot AI review requested due to automatic review settings May 14, 2026 15:00
@akalipetis akalipetis force-pushed the akalipetis-execute-services branch from 398fd5e to 4281ada Compare May 14, 2026 15:00
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 14, 2026

Deploying ergani with  Cloudflare Pages  Cloudflare Pages

Latest commit: 84b34ad
Status: ✅  Deploy successful!
Preview URL: https://b65985bb.ergani.pages.dev
Branch Preview URL: https://akalipetis-execute-services.ergani.pages.dev

View logs

@akalipetis akalipetis force-pushed the akalipetis-execute-services branch from 4281ada to 11c66ea Compare May 14, 2026 15:01
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Modernizes the project packaging/tooling (Poetry → uv, Black/isort → Ruff) and adds a foundation for service discovery/execution in the Ergani client.

Changes:

  • Migrate packaging metadata to PEP 621 [project], adopt uv for builds/publishing and dependency management.
  • Replace formatter/import tooling with Ruff and update CI/devcontainer/Docker workflows accordingly.
  • Add URL normalization plus new client methods to discover/execute Ergani services.

Reviewed changes

Copilot reviewed 8 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pyproject.toml Switch to PEP 621 + uv/ruff configuration and dependency groups
ergani/utils.py Add base URL normalization helper
ergani/client.py Apply base URL normalization; add service execution + services list endpoint
ergani/auth.py Apply base URL normalization; improve JSON error handling on auth
Dockerfile Switch container build/install steps from Poetry to uv
.github/workflows/publish.yml Publish workflow updated to uv build/publish
.github/workflows/ci.yml CI updated to uv + ruff lint/format
.devcontainer/devcontainer.json Devcontainer updated to uv + Ruff tooling

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ergani/utils.py
Comment thread pyproject.toml
Comment thread pyproject.toml Outdated
@akalipetis akalipetis force-pushed the akalipetis-execute-services branch from 11c66ea to c5149eb Compare May 14, 2026 15:02
Add service execution foundation, to execute all available services.

Also, include a way to discover services.
@akalipetis akalipetis force-pushed the akalipetis-execute-services branch from c5149eb to c86163c Compare May 14, 2026 15:05
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 10 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

ergani/client.py:282

  • Same URL-joining issue as above: get_services_list() passes an endpoint with a leading / ("/WebServices/ServicesList"), which becomes .../api//WebServices/ServicesList because _request() always inserts an extra /. Use a non-leading-slash endpoint, or strip the leading slash inside _request().
    def get_services_list(self) -> Optional[Response]:
        """
        Fetches the available services list from the Ergani API.

        Returns:
            Optional[Response]: The raw response returned by the services list endpoint.

        Raises:
            APIError: An error occurred while communicating with the Ergani API
            AuthenticationError: Raised if there is an authentication error with the Ergani API
        """

        return self._request("GET", "/WebServices/ServicesList", None)

Comment thread ergani/client.py
Comment thread ergani/auth.py
Comment thread ergani/utils.py Outdated
Comment thread pyproject.toml
@akalipetis akalipetis force-pushed the akalipetis-execute-services branch from 1247957 to 62a3e31 Compare May 14, 2026 20:42
@akalipetis akalipetis requested review from gmargaritis and parisk May 14, 2026 20:50
@akalipetis akalipetis force-pushed the akalipetis-execute-services branch from bbbed84 to 546fcf2 Compare May 14, 2026 20:51
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 14 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (2)

pyproject.toml:17

  • More tab indentation here conflicts with .editorconfig (indent_style = space). Converting these tabs to spaces will keep formatting consistent across the repo.
classifiers = [
	"Programming Language :: Python :: 3",
	"Programming Language :: Python :: 3.10",
	"Programming Language :: Python :: 3.11",
	"Programming Language :: Python :: 3.12",

pyproject.toml:27

  • This section is also indented with tabs, which conflicts with the repo’s .editorconfig (indent_style = space). Please re-indent with spaces for consistency.
[dependency-groups]
dev = [
	"mypy>=1.7.1,<2",
	"ruff>=0.11.0,<0.12",
	"types-requests>=2.31.0.10,<3",

Comment thread ergani/auth.py
Comment thread .github/workflows/ci.yml
Comment thread pyproject.toml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@parisk parisk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🦌

@akalipetis akalipetis merged commit ec25b64 into main May 19, 2026
2 checks passed
@akalipetis akalipetis deleted the akalipetis-execute-services branch May 19, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants