Skip to content

Commit

Permalink
Set griptape version to latest. Add a --version flag
Browse files Browse the repository at this point in the history
  • Loading branch information
zachgiordano committed Dec 11, 2023
1 parent a8c7d05 commit 5c7ca94
Show file tree
Hide file tree
Showing 8 changed files with 394 additions and 416 deletions.
13 changes: 11 additions & 2 deletions griptape/cli/commands/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,23 @@ def app(ctx):
default=".",
show_default=True,
)
def new(name: str, package_manager: str, directory: str) -> None:
@click.option(
"--griptape-version",
"-g",
type=str,
help="Version of griptape to use for the app.",
required=False,
)
def new(name: str, package_manager: str, directory: str, griptape_version: str) -> None:
"""
Create a new Griptape app.
"""

echo(f"Initializing app {name}")

App(name=name, package_manager=package_manager).generate(directory)
App(
name=name, package_manager=package_manager, griptape_version=griptape_version
).generate(directory)


@app.command(name="run")
Expand Down
12 changes: 12 additions & 0 deletions griptape/cli/core/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ class App:
name: str = field(kw_only=True)
package_manager: str = field(kw_only=True)
template_path: Optional[str] = field(default=None, kw_only=True)
griptape_version: Optional[str] = field(default=None, kw_only=True)

def generate(self, directory: str = ".") -> None:
template = (
Expand All @@ -22,6 +23,16 @@ def generate(self, directory: str = ".") -> None:
else self.template_path
)

if not self.griptape_version:
if self.package_manager == "pip":
self.griptape_version = ""
else:
self.griptape_version = '"*"'
else:
self.griptape_version = f"{self.griptape_version}"
if self.package_manager == "pip":
self.griptape_version = f"=={self.griptape_version}"

cookiecutter(
template,
no_input=True,
Expand All @@ -30,5 +41,6 @@ def generate(self, directory: str = ".") -> None:
"app_name": self.name,
"package_name": stringcase.snakecase(self.name),
"package_manager": self.package_manager,
"griptape_version": self.griptape_version,
},
)
9 changes: 5 additions & 4 deletions griptape/cli/core/templates/app/cookiecutter.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"app_name": "griptape-app",
"package_name": "griptape_app",
"package_manager": "pip"
}
"app_name": "griptape-app",
"package_name": "griptape_app",
"package_manager": "pip",
"griptape_version": "0.21.1"
}
2 changes: 1 addition & 1 deletion griptape/cli/core/templates/app/hooks/post_gen_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

REMOVE_PATHS = [
'{% if cookiecutter.package_manager != "pip" %}requirements.txt{% endif %}',
'{% if cookiecutter.package_manager != "poetry" %}poetry.toml{% endif %}',
'{% if cookiecutter.package_manager != "poetry" %}pyproject.toml{% endif %}',
]

for path in REMOVE_PATHS:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ readme = "README.md"

[tool.poetry.dependencies]
python = ">=3.9,<3.12"
griptape = { git = "https://github.com/griptape-ai/griptape", branch = "dev" }
griptape = {{cookiecutter.griptape_version}}
python-dotenv = "*"

[build-system]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
griptape@git+https://github.com/griptape-ai/griptape@dev
griptape{{cookiecutter.griptape_version}}
python-dotenv
768 changes: 362 additions & 406 deletions poetry.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ packages = [
[tool.poetry.dependencies]
python = ">=3.9,<3.12"
click = "^8.1.3"
griptape = { git = "https://github.com/griptape-ai/griptape.git", branch = "dev" }
griptape = "*"
cookiecutter = "^2.1.1"
attrs = "^23.1.0"
stringcase = "^1.2.0"
Expand Down

0 comments on commit 5c7ca94

Please sign in to comment.