Skip to content

Commit

Permalink
fix: avoid name conflicts with ecalc cli package (#197)
Browse files Browse the repository at this point in the history
Using the generic name CLI and including that as a part of
libecalc, installs it as a separate package in the venv called
"cli". This is too general/generic to use, as it will easily
cause a name collision with another package, also it does not
give any information of which package it depends to (libecalc).
  • Loading branch information
TeeeJay committed Sep 21, 2023
1 parent 24c27bb commit 140c448
Show file tree
Hide file tree
Showing 50 changed files with 36 additions and 22 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ RUN mkdir /dist
# Set version in pyproject.toml, needed to update nightly version. Already done by release-please otherwise.
RUN poetry version $ECALC_VERSION

# Finally build the cli
# Finally build the libecalc package
RUN poetry build
RUN cp dist/*.whl /dist/
RUN chown -R $ECALC_USER:$ECALC_GROUP /dist/
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ classifiers=[
]

packages = [
{ include = "cli", from = "src" },
{ include = "ecalc_cli", from = "src" },
{ include = "neqsim_ecalc_wrapper", from = "src" },
{ include = "libecalc", from = "src" },
]

[tool.poetry.scripts]
ecalc = 'cli.main:main'
ecalc = 'ecalc_cli.main:main'

[tool.poetry.dependencies]
python = ">=3.8,<3.12"
Expand Down
14 changes: 14 additions & 0 deletions src/ecalc_cli/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# eCalc CLI

eCalc CLI is provided as a part of the libeCalc package as an example UI for how to use libeCalc, AND for a more
convenient way to use libeCalc without needing to have knowledge about programming.

eCalc CLI is implemented with Typer, that provides helpful interactive help on how to use it.

Start with

```shell
ecalc --help
```

and go on from there.
File renamed without changes.
10 changes: 5 additions & 5 deletions src/cli/commands/run.py → src/ecalc_cli/commands/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
import libecalc.common.time_utils
import libecalc.version
import typer
from cli.errors import EcalcCLIError
from cli.io.cache import Cache
from cli.io.output import (
from ecalc_cli.errors import EcalcCLIError
from ecalc_cli.io.cache import Cache
from ecalc_cli.io.output import (
write_flow_diagram,
write_json,
write_ltp_export,
write_output,
write_stp_export,
)
from cli.logger import logger
from cli.types import DateFormat, Frequency
from ecalc_cli.logger import logger
from ecalc_cli.types import DateFormat, Frequency
from libecalc.common.run_info import RunInfo
from libecalc.core.ecalc import EnergyCalculator
from libecalc.core.graph_result import GraphResult
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import libecalc.version
from cli.logger import logger
from ecalc_cli.logger import logger
from neqsim_ecalc_wrapper import start_server


Expand Down
8 changes: 4 additions & 4 deletions src/cli/commands/show.py → src/ecalc_cli/commands/show.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import libecalc.common.time_utils
import libecalc.version
import typer
from cli.io.cache import Cache
from cli.io.output import write_output
from cli.logger import logger
from cli.types import DateFormat, Frequency
from ecalc_cli.io.cache import Cache
from ecalc_cli.io.output import write_output
from ecalc_cli.logger import logger
from ecalc_cli.types import DateFormat, Frequency
from libecalc.input.yaml.yaml_models.pyyaml_yaml_model import PyYamlYamlModel
from libecalc.input.yaml_entities import ResourceStream
from libecalc.output.utils.file_utils import (
Expand Down
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/cli/io/cache.py → src/ecalc_cli/io/cache.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from dataclasses import dataclass, field
from pathlib import Path

from cli.logger import logger
from ecalc_cli.logger import logger
from libecalc import dto
from libecalc.common.run_info import RunInfo
from libecalc.core.graph_result import EnergyCalculatorResult, GraphResult
Expand Down
2 changes: 1 addition & 1 deletion src/cli/io/output.py → src/ecalc_cli/io/output.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from typing import Dict, List

import libecalc.common.time_utils
from cli.errors import EcalcCLIError
from ecalc_cli.errors import EcalcCLIError
from libecalc import dto
from libecalc.common.run_info import RunInfo
from libecalc.common.time_utils import resample_time_steps
Expand Down
File renamed without changes.
8 changes: 4 additions & 4 deletions src/cli/main.py → src/ecalc_cli/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import libecalc.version
import typer
from cli.commands import show
from cli.commands.run import run
from cli.commands.selftest import selftest
from cli.logger import CLILogConfigurator, LogLevel, logger
from ecalc_cli.commands import show
from ecalc_cli.commands.run import run
from ecalc_cli.commands.selftest import selftest
from ecalc_cli.logger import CLILogConfigurator, LogLevel, logger
from libecalc.input.validation_errors import DataValidationError

app = typer.Typer(name="ecalc")
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/generate_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def generate(
) -> None:
"""Generate Markdown docs for a Typer app."""
# Ref: https://github.com/tiangolo/typer-cli/pull/67#issuecomment-1271983950
from cli.main import app as main_app
from ecalc_cli.main import app as main_app

click_obj = typer.main.get_command(main_app)
docs = typer_cli.get_docs_for_click(obj=click_obj, ctx=ctx, name=name)
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions src/tests/cli/test_app.py → src/tests/ecalc_cli/test_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
import pandas as pd
import pytest
import yaml
from cli import main
from cli.commands import show
from ecalc_cli import main
from ecalc_cli.commands import show
from libecalc.common.exceptions import EcalcError
from libecalc.common.run_info import RunInfo
from libecalc.dto.utils.validators import COMPONENT_NAME_ALLOWED_CHARS
Expand Down

0 comments on commit 140c448

Please sign in to comment.