instant-python 0.0.1__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.
- instant_python-0.0.1/.github/FUNDING.yml +3 -0
- instant_python-0.0.1/.github/ISSUE_TEMPLATE/bug_report.md +33 -0
- instant_python-0.0.1/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
- instant_python-0.0.1/.github/actions/python_setup/action.yml +20 -0
- instant_python-0.0.1/.github/workflows/publish.yml +21 -0
- instant_python-0.0.1/.github/workflows/release.yml +43 -0
- instant_python-0.0.1/.gitignore +141 -0
- instant_python-0.0.1/.python-version +1 -0
- instant_python-0.0.1/CHANGELOG.md +348 -0
- instant_python-0.0.1/LICENSE +201 -0
- instant_python-0.0.1/PKG-INFO +276 -0
- instant_python-0.0.1/README.md +62 -0
- instant_python-0.0.1/cz.yaml +21 -0
- instant_python-0.0.1/docs/assets/favicon.svg +27 -0
- instant_python-0.0.1/docs/assets/logo.svg +27 -0
- instant_python-0.0.1/docs/contributing.md +10 -0
- instant_python-0.0.1/docs/getting-started/features.md +24 -0
- instant_python-0.0.1/docs/getting-started/first-steps.md +15 -0
- instant_python-0.0.1/docs/getting-started/index.md +11 -0
- instant_python-0.0.1/docs/getting-started/installation.md +34 -0
- instant_python-0.0.1/docs/guide/creating-a-project.md +71 -0
- instant_python-0.0.1/docs/guide/custom-templates.md +55 -0
- instant_python-0.0.1/docs/guide/features.md +248 -0
- instant_python-0.0.1/docs/guide/folder-structure.md +55 -0
- instant_python-0.0.1/docs/guide/index.md +6 -0
- instant_python-0.0.1/docs/index.md +7 -0
- instant_python-0.0.1/instant_python/__init__.py +0 -0
- instant_python-0.0.1/instant_python/cli.py +11 -0
- instant_python-0.0.1/instant_python/folder_cli.py +50 -0
- instant_python-0.0.1/instant_python/installer/__init__.py +0 -0
- instant_python-0.0.1/instant_python/installer/dependency_manager.py +15 -0
- instant_python-0.0.1/instant_python/installer/dependency_manager_factory.py +14 -0
- instant_python-0.0.1/instant_python/installer/git_configurer.py +47 -0
- instant_python-0.0.1/instant_python/installer/installer.py +18 -0
- instant_python-0.0.1/instant_python/installer/managers.py +7 -0
- instant_python-0.0.1/instant_python/installer/operating_systems.py +7 -0
- instant_python-0.0.1/instant_python/installer/pdm_manager.py +72 -0
- instant_python-0.0.1/instant_python/installer/uv_manager.py +73 -0
- instant_python-0.0.1/instant_python/project_cli.py +100 -0
- instant_python-0.0.1/instant_python/project_generator/__init__.py +0 -0
- instant_python-0.0.1/instant_python/project_generator/custom_template_manager.py +20 -0
- instant_python-0.0.1/instant_python/project_generator/default_template_manager.py +45 -0
- instant_python-0.0.1/instant_python/project_generator/directory.py +28 -0
- instant_python-0.0.1/instant_python/project_generator/file.py +20 -0
- instant_python-0.0.1/instant_python/project_generator/folder_tree.py +40 -0
- instant_python-0.0.1/instant_python/project_generator/jinja_custom_filters.py +18 -0
- instant_python-0.0.1/instant_python/project_generator/node.py +14 -0
- instant_python-0.0.1/instant_python/project_generator/project_generator.py +31 -0
- instant_python-0.0.1/instant_python/project_generator/template_manager.py +7 -0
- instant_python-0.0.1/instant_python/question_prompter/__init__.py +0 -0
- instant_python-0.0.1/instant_python/question_prompter/question/__init__.py +0 -0
- instant_python-0.0.1/instant_python/question_prompter/question/boolean_question.py +13 -0
- instant_python-0.0.1/instant_python/question_prompter/question/choice_question.py +18 -0
- instant_python-0.0.1/instant_python/question_prompter/question/conditional_question.py +25 -0
- instant_python-0.0.1/instant_python/question_prompter/question/dependencies_question.py +43 -0
- instant_python-0.0.1/instant_python/question_prompter/question/free_text_question.py +13 -0
- instant_python-0.0.1/instant_python/question_prompter/question/multiple_choice_question.py +13 -0
- instant_python-0.0.1/instant_python/question_prompter/question/question.py +15 -0
- instant_python-0.0.1/instant_python/question_prompter/question_wizard.py +15 -0
- instant_python-0.0.1/instant_python/question_prompter/step/__init__.py +0 -0
- instant_python-0.0.1/instant_python/question_prompter/step/dependencies_step.py +20 -0
- instant_python-0.0.1/instant_python/question_prompter/step/general_custom_template_project_step.py +45 -0
- instant_python-0.0.1/instant_python/question_prompter/step/general_project_step.py +50 -0
- instant_python-0.0.1/instant_python/question_prompter/step/git_step.py +23 -0
- instant_python-0.0.1/instant_python/question_prompter/step/steps.py +16 -0
- instant_python-0.0.1/instant_python/question_prompter/step/template_step.py +63 -0
- instant_python-0.0.1/instant_python/question_prompter/template_types.py +7 -0
- instant_python-0.0.1/instant_python/question_prompter/user_requirements.py +39 -0
- instant_python-0.0.1/instant_python/templates/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/.gitignore +164 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/.pre-commit-config.yml +33 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/.python-version +1 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/LICENSE +896 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/aggregate_root.py +19 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/domain_event.py +15 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/domain_event_json_deserializer.py +28 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/domain_event_json_serializer.py +17 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/domain_event_subscriber.py +15 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/event_bus.py +10 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/exchange_type.py +7 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/mock_event_bus.py +18 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/rabbit_mq_configurer.py +54 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/rabbit_mq_connection.py +77 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/rabbit_mq_consumer.py +58 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/rabbit_mq_event_bus.py +28 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/rabbit_mq_queue_formatter.py +22 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/event_bus/rabbit_mq_settings.py +8 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/exceptions/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/exceptions/domain_error.py +17 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/exceptions/domain_event_type_not_found_error.py +17 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/exceptions/incorrect_value_type_error.py +21 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/exceptions/invalid_id_format_error.py +17 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/exceptions/invalid_negative_value_error.py +17 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/exceptions/required_value_error.py +17 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/fastapi/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/fastapi/application.py +25 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/fastapi/http_response.py +45 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/fastapi/lifespan.py +14 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/fastapi/status_code.py +9 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/github/action.yml +22 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/github/test_lint.yml +36 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/logger/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/logger/json_formatter.py +16 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/logger/logger.py +39 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/mypy.ini +41 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/alembic_migrator.py +20 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/README.md +1 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/alembic.ini +124 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/async_engine_fixture.py +21 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/env.py +95 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/models_metadata.py +11 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/postgres_settings.py +15 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/script.py.mako +26 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/async/sqlalchemy_repository.py +30 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/base.py +4 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/synchronous/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/synchronous/session_maker.py +22 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/persistence/synchronous/sqlalchemy_repository.py +35 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/pyproject.toml +29 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/pytest.ini +10 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/random_generator.py +9 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/add_dependency.sh +37 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/create_aggregate.py +33 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/insert_template.py +90 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/integration.sh +39 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/local_setup.sh +15 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/makefile +137 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/post-merge +11 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/pre-commit +4 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/pre-push +6 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/remove_dependency.sh +36 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/scripts/unit.sh +40 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/value_object/__init__.py +0 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/value_object/int_value_object.py +11 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/value_object/string_value_object.py +19 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/value_object/uuid.py +17 -0
- instant_python-0.0.1/instant_python/templates/boilerplate/value_object/value_object.py +21 -0
- instant_python-0.0.1/instant_python/templates/project_structure/alembic_migrator.yml.j2 +3 -0
- instant_python-0.0.1/instant_python/templates/project_structure/async_alembic.yml.j2 +20 -0
- instant_python-0.0.1/instant_python/templates/project_structure/async_sqlalchemy.yml.j2 +17 -0
- instant_python-0.0.1/instant_python/templates/project_structure/clean_architecture/main_structure.yml.j2 +25 -0
- instant_python-0.0.1/instant_python/templates/project_structure/clean_architecture/source.yml.j2 +51 -0
- instant_python-0.0.1/instant_python/templates/project_structure/clean_architecture/test.yml.j2 +23 -0
- instant_python-0.0.1/instant_python/templates/project_structure/domain_driven_design/bounded_context.yml.j2 +20 -0
- instant_python-0.0.1/instant_python/templates/project_structure/domain_driven_design/main_structure.yml.j2 +25 -0
- instant_python-0.0.1/instant_python/templates/project_structure/domain_driven_design/source.yml.j2 +55 -0
- instant_python-0.0.1/instant_python/templates/project_structure/domain_driven_design/test.yml.j2 +26 -0
- instant_python-0.0.1/instant_python/templates/project_structure/event_bus_domain.yml.j2 +26 -0
- instant_python-0.0.1/instant_python/templates/project_structure/event_bus_infra.yml.j2 +32 -0
- instant_python-0.0.1/instant_python/templates/project_structure/fastapi_app.yml.j2 +10 -0
- instant_python-0.0.1/instant_python/templates/project_structure/fastapi_infra.yml.j2 +10 -0
- instant_python-0.0.1/instant_python/templates/project_structure/github_action.yml.j2 +18 -0
- instant_python-0.0.1/instant_python/templates/project_structure/gitignore.yml.j2 +2 -0
- instant_python-0.0.1/instant_python/templates/project_structure/license.yml.j2 +2 -0
- instant_python-0.0.1/instant_python/templates/project_structure/logger.yml.j2 +10 -0
- instant_python-0.0.1/instant_python/templates/project_structure/macros.j2 +6 -0
- instant_python-0.0.1/instant_python/templates/project_structure/makefile.yml.j2 +38 -0
- instant_python-0.0.1/instant_python/templates/project_structure/mypy.yml.j2 +3 -0
- instant_python-0.0.1/instant_python/templates/project_structure/pre_commit.yml.j2 +3 -0
- instant_python-0.0.1/instant_python/templates/project_structure/pyproject.yml.j2 +3 -0
- instant_python-0.0.1/instant_python/templates/project_structure/pytest.yml.j2 +3 -0
- instant_python-0.0.1/instant_python/templates/project_structure/python_version.yml.j2 +2 -0
- instant_python-0.0.1/instant_python/templates/project_structure/standard_project/main_structure.yml.j2 +25 -0
- instant_python-0.0.1/instant_python/templates/project_structure/standard_project/source.yml.j2 +30 -0
- instant_python-0.0.1/instant_python/templates/project_structure/standard_project/test.yml.j2 +16 -0
- instant_python-0.0.1/instant_python/templates/project_structure/synchronous_sqlalchemy.yml.j2 +17 -0
- instant_python-0.0.1/instant_python/templates/project_structure/value_objects.yml.j2 +35 -0
- instant_python-0.0.1/mkdocs.yml +71 -0
- instant_python-0.0.1/pyproject.toml +33 -0
- instant_python-0.0.1/uv.lock +605 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: ''
|
|
5
|
+
labels: ''
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## :writing_hand: Describe the bug
|
|
11
|
+
|
|
12
|
+
A clear and concise description of what the bug is.
|
|
13
|
+
|
|
14
|
+
## :ballot_box_with_check: Steps To Reproduce
|
|
15
|
+
|
|
16
|
+
Steps to reproduce the behavior:
|
|
17
|
+
1. Go to '...'
|
|
18
|
+
2. Click on '....'
|
|
19
|
+
3. Scroll down to '....'
|
|
20
|
+
4. See error
|
|
21
|
+
|
|
22
|
+
## :heavy_check_mark: Expected behavior
|
|
23
|
+
|
|
24
|
+
A clear and concise description of what you expected to happen.
|
|
25
|
+
|
|
26
|
+
## :camera: Screenshots
|
|
27
|
+
|
|
28
|
+
If applicable, add screenshots to help explain your problem.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## 🗞️ Additional context
|
|
32
|
+
Add any other context about the problem here.
|
|
33
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an idea for this project
|
|
4
|
+
title: ''
|
|
5
|
+
labels: ''
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## ✍️ Describe your proposal
|
|
11
|
+
|
|
12
|
+
**Is your feature request related to a problem?**
|
|
13
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
14
|
+
|
|
15
|
+
**Describe the solution you'd like**
|
|
16
|
+
A clear and concise description of what you want to happen.
|
|
17
|
+
|
|
18
|
+
**Describe alternatives you've considered**
|
|
19
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
|
20
|
+
|
|
21
|
+
## 🗞️ Additional context
|
|
22
|
+
|
|
23
|
+
Add any other context or screenshots about the feature request here.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: Install Python and setup environment
|
|
2
|
+
|
|
3
|
+
inputs:
|
|
4
|
+
python-version:
|
|
5
|
+
description: 'The version of Python to use'
|
|
6
|
+
required: false
|
|
7
|
+
default: "3.12"
|
|
8
|
+
outputs: {}
|
|
9
|
+
runs:
|
|
10
|
+
using: composite
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/setup-python@v5
|
|
13
|
+
with:
|
|
14
|
+
python-version: ${{ inputs.python-version }}
|
|
15
|
+
- name: Install dependency manager
|
|
16
|
+
run: python -m pip install uv
|
|
17
|
+
shell: bash
|
|
18
|
+
- name: Install dependencies
|
|
19
|
+
run: uv sync --all-groups
|
|
20
|
+
shell: bash
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: Publish Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [ created ]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build-and-publish:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
environment: release
|
|
11
|
+
permissions:
|
|
12
|
+
id-token: write
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout repository
|
|
15
|
+
uses: actions/checkout@v4
|
|
16
|
+
- name: Set up Python environment
|
|
17
|
+
uses: ./.github/actions/python_setup
|
|
18
|
+
- name: Build package
|
|
19
|
+
run: uv build
|
|
20
|
+
- name: Publish
|
|
21
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Generate Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
bump-version:
|
|
10
|
+
if: "!startsWith(github.event.head_commit.message, 'bump:')"
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- name: Check out
|
|
14
|
+
uses: actions/checkout@v3
|
|
15
|
+
with:
|
|
16
|
+
token: ${{ secrets.CHANGELOG_TOKEN }}
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
|
|
19
|
+
- name: Bump version and update changelog
|
|
20
|
+
uses: commitizen-tools/commitizen-action@master
|
|
21
|
+
with:
|
|
22
|
+
github_token: ${{ secrets.CHANGELOG_TOKEN }}
|
|
23
|
+
|
|
24
|
+
create-release:
|
|
25
|
+
needs: bump-version
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- name: Check out
|
|
29
|
+
uses: actions/checkout@v3
|
|
30
|
+
with:
|
|
31
|
+
token: ${{ secrets.CHANGELOG_TOKEN }}
|
|
32
|
+
fetch-depth: 0
|
|
33
|
+
- name: Get last tag
|
|
34
|
+
id: last_tag
|
|
35
|
+
run: echo "tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
|
|
36
|
+
|
|
37
|
+
- name: Create release
|
|
38
|
+
uses: ncipollo/release-action@v1
|
|
39
|
+
with:
|
|
40
|
+
token: ${{ secrets.CHANGELOG_TOKEN }}
|
|
41
|
+
tag: ${{ steps.last_tag.outputs.tag }}
|
|
42
|
+
name: Release ${{ steps.last_tag.outputs.tag }}
|
|
43
|
+
bodyFile: CHANGELOG.md
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
docs/build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Usually these files are written by a python script from a template
|
|
31
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.nox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*.cover
|
|
49
|
+
*.py,cover
|
|
50
|
+
.hypothesis/
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
cover/
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
*.log
|
|
60
|
+
local_settings.py
|
|
61
|
+
db.sqlite3
|
|
62
|
+
db.sqlite3-journal
|
|
63
|
+
|
|
64
|
+
# Flask stuff:
|
|
65
|
+
instance/
|
|
66
|
+
.webassets-cache
|
|
67
|
+
|
|
68
|
+
# Scrapy stuff:
|
|
69
|
+
.scrapy
|
|
70
|
+
|
|
71
|
+
# Sphinx documentation
|
|
72
|
+
docs/_build/
|
|
73
|
+
|
|
74
|
+
# PyBuilder
|
|
75
|
+
.pybuilder/
|
|
76
|
+
target/
|
|
77
|
+
|
|
78
|
+
# Jupyter Notebook
|
|
79
|
+
.ipynb_checkpoints
|
|
80
|
+
|
|
81
|
+
# IPython
|
|
82
|
+
profile_default/
|
|
83
|
+
ipython_config.py
|
|
84
|
+
|
|
85
|
+
# pyenv
|
|
86
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
87
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
88
|
+
# .python-version
|
|
89
|
+
|
|
90
|
+
# pdm
|
|
91
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
92
|
+
#pdm.lock
|
|
93
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
94
|
+
# in version control.
|
|
95
|
+
# https://pdm-project.org/#use-with-ide
|
|
96
|
+
.pdm.toml
|
|
97
|
+
.pdm-python
|
|
98
|
+
.pdm-build/
|
|
99
|
+
|
|
100
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
101
|
+
__pypackages__/
|
|
102
|
+
|
|
103
|
+
# Celery stuff
|
|
104
|
+
celerybeat-schedule
|
|
105
|
+
celerybeat.pid
|
|
106
|
+
|
|
107
|
+
# SageMath parsed files
|
|
108
|
+
*.sage.py
|
|
109
|
+
|
|
110
|
+
# Environments
|
|
111
|
+
.env
|
|
112
|
+
.venv
|
|
113
|
+
env/
|
|
114
|
+
venv/
|
|
115
|
+
ENV/
|
|
116
|
+
env.bak/
|
|
117
|
+
venv.bak/
|
|
118
|
+
|
|
119
|
+
# Spyder project settings
|
|
120
|
+
.spyderproject
|
|
121
|
+
.spyproject
|
|
122
|
+
|
|
123
|
+
# Rope project settings
|
|
124
|
+
.ropeproject
|
|
125
|
+
|
|
126
|
+
# mkdocs documentation
|
|
127
|
+
/site
|
|
128
|
+
|
|
129
|
+
# mypy
|
|
130
|
+
.mypy_cache/
|
|
131
|
+
.dmypy.json
|
|
132
|
+
dmypy.json
|
|
133
|
+
|
|
134
|
+
# Pyre type checker
|
|
135
|
+
.pyre/
|
|
136
|
+
|
|
137
|
+
# pytype static type analyzer
|
|
138
|
+
.pytype/
|
|
139
|
+
|
|
140
|
+
# Cython debug symbols
|
|
141
|
+
cython_debug/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
## 0.12.1 (2025-04-06)
|
|
2
|
+
|
|
3
|
+
### 🐛 Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **project-generator**: add template types values to be able to use enum in jinja templates
|
|
6
|
+
- **template**: write correct option when fastapi built in feature is selected
|
|
7
|
+
|
|
8
|
+
### ♻️ Code Refactoring
|
|
9
|
+
|
|
10
|
+
- **template**: include mypy, git and pytest configuration files only when the user has selected these options
|
|
11
|
+
- **template**: include dependencies depending on user built in features selection
|
|
12
|
+
|
|
13
|
+
## 0.12.0 (2025-04-06)
|
|
14
|
+
|
|
15
|
+
### ✨ Features
|
|
16
|
+
|
|
17
|
+
- **project-generator**: create new custom function to generate import path in templates
|
|
18
|
+
|
|
19
|
+
### 🐛 Bug Fixes
|
|
20
|
+
|
|
21
|
+
- **template**: generate correctly the import statement in templates depending on the user selection
|
|
22
|
+
|
|
23
|
+
## 0.11.0 (2025-03-24)
|
|
24
|
+
|
|
25
|
+
## 0.10.4 (2025-03-24)
|
|
26
|
+
|
|
27
|
+
### 🐛 Bug Fixes
|
|
28
|
+
|
|
29
|
+
- correct pages workflow
|
|
30
|
+
|
|
31
|
+
## 0.10.3 (2025-03-24)
|
|
32
|
+
|
|
33
|
+
### 🐛 Bug Fixes
|
|
34
|
+
|
|
35
|
+
- correct pages workflow
|
|
36
|
+
|
|
37
|
+
## 0.10.2 (2025-03-24)
|
|
38
|
+
|
|
39
|
+
### 🐛 Bug Fixes
|
|
40
|
+
|
|
41
|
+
- **installer**: correct answers when installing dependencies
|
|
42
|
+
|
|
43
|
+
## 0.10.1 (2025-03-24)
|
|
44
|
+
|
|
45
|
+
### 🐛 Bug Fixes
|
|
46
|
+
|
|
47
|
+
- **prompter**: modify DependenciesQuestion to not enter an infinite loop of asking the user
|
|
48
|
+
|
|
49
|
+
## 0.10.0 (2025-03-23)
|
|
50
|
+
|
|
51
|
+
### ✨ Features
|
|
52
|
+
|
|
53
|
+
- **prompter**: implement general project step that will only be used when custom template is passed
|
|
54
|
+
- **cli**: add template command for project_cli.py to let users create a project using a custom template
|
|
55
|
+
- **prompter**: implement ConditionalQuestion
|
|
56
|
+
- **prompter**: implement TemplateStep to group all questions related to default template management
|
|
57
|
+
- **project-generator**: implement CustomTemplateManager to manage when user passes a custom template file
|
|
58
|
+
- **project-generator**: create TemplateManager interface
|
|
59
|
+
- **cli**: add folder command to allow users to just generate the folder structure of the project
|
|
60
|
+
|
|
61
|
+
### 🐛 Bug Fixes
|
|
62
|
+
|
|
63
|
+
- **cli**: temporarily disable template commands
|
|
64
|
+
- **prompter**: extract the value of the base answer to check it with condition
|
|
65
|
+
- **prompter**: remove init argument from year field
|
|
66
|
+
- **cli**: access project_name value when using custom template command
|
|
67
|
+
- **prompter**: set default value for git field in UserRequirements to avoid failing when executing folder command
|
|
68
|
+
- **prompter**: include last question in TemplateStep if selected template is domain_driven_design
|
|
69
|
+
- **project-generator**: instantiate DefaultTemplateManager inside File class
|
|
70
|
+
|
|
71
|
+
### ♻️ Code Refactoring
|
|
72
|
+
|
|
73
|
+
- **prompter**: update answers dictionary instead of add manually question key and answer
|
|
74
|
+
- **prompter**: return a dictionary with the key of the question and the answer instead of just the answer
|
|
75
|
+
- **cli**: modify cli help commands and descriptions
|
|
76
|
+
- **prompter**: modify default values for UserRequirements
|
|
77
|
+
- **cli**: use new GeneralCustomTemplateProjectStep in template command
|
|
78
|
+
- **cli**: add name to command and rename command function
|
|
79
|
+
- **prompter**: substitute template and ddd specific questions in TemplateStep for ConditionalQuestion
|
|
80
|
+
- **prompter**: substitute set of question in GitStep for ConditionalQuestion
|
|
81
|
+
- **prompter**: remove should_not_ask method from Step interface
|
|
82
|
+
- **prompter**: remove DomainDrivenDesignStep
|
|
83
|
+
- **cli**: remove DDD step and add TemplateStep
|
|
84
|
+
- **prompter**: remove boilerplate question from DependenciesStep
|
|
85
|
+
- **prompter**: remove template related questions from GeneralProjectStep
|
|
86
|
+
- **prompter**: move git question to GitStep and remove auxiliar continue_git question
|
|
87
|
+
- **cli**: rename function names for better clarity
|
|
88
|
+
- **cli**: move new command to its own typer app
|
|
89
|
+
- **cli**: move folder command to its own typer app and separate the app in two commands
|
|
90
|
+
- **project-generator**: let DefaultTemplateManager implement TemplateManager interface
|
|
91
|
+
- **project-generator**: rename TemplateManager to DefaultTemplateManager
|
|
92
|
+
- **cli**: add template argument to both command to begin allow the user to pass a custom path for the project structure
|
|
93
|
+
- **cli**: add help description to both commands
|
|
94
|
+
- **prompter**: move python and dependency manager from dependencies step to general project step as it's information that is needed in general to fill all files information
|
|
95
|
+
- **cli**: rename generate_project command to new
|
|
96
|
+
|
|
97
|
+
## 0.9.0 (2025-03-14)
|
|
98
|
+
|
|
99
|
+
### ✨ Features
|
|
100
|
+
|
|
101
|
+
- **project-generator**: format all project files with ruff once everything is generated
|
|
102
|
+
- **cli**: remove user_requirements file once project has been generated
|
|
103
|
+
- **prompter**: add remove method to UserRequirements class
|
|
104
|
+
|
|
105
|
+
### 🐛 Bug Fixes
|
|
106
|
+
|
|
107
|
+
- **build**: change build system and ensure templates directory gets included
|
|
108
|
+
- **project-generator**: substitute FileSystemLoader for PackageLoader to safer load when using it as a package
|
|
109
|
+
|
|
110
|
+
### ♻️ Code Refactoring
|
|
111
|
+
|
|
112
|
+
- **prompter**: add file_path field to user requirements class
|
|
113
|
+
|
|
114
|
+
## 0.8.1 (2025-03-14)
|
|
115
|
+
|
|
116
|
+
### 🐛 Bug Fixes
|
|
117
|
+
|
|
118
|
+
- **prompter**: correct default source folder name
|
|
119
|
+
- **template**: correct license field from pyproject.toml template
|
|
120
|
+
|
|
121
|
+
### ♻️ Code Refactoring
|
|
122
|
+
|
|
123
|
+
- **cli**: pass project slug name as the project directory that will be created
|
|
124
|
+
- **project-generator**: pass the directory where the project will be created to FolderTree
|
|
125
|
+
- **cli**: remove checking if a user_requirements file exists
|
|
126
|
+
- **template**: remove writing author and email info only if manager is pdm
|
|
127
|
+
|
|
128
|
+
## 0.8.0 (2025-03-11)
|
|
129
|
+
|
|
130
|
+
### ✨ Features
|
|
131
|
+
|
|
132
|
+
- **cli**: call to git configurer when user wants to initialize a git repository
|
|
133
|
+
- **installer**: implement GitConfigurer
|
|
134
|
+
- **cli**: include git step into cli steps
|
|
135
|
+
- **prompter**: implement step to ask the user information to initialize a git repository
|
|
136
|
+
|
|
137
|
+
### ♻️ Code Refactoring
|
|
138
|
+
|
|
139
|
+
- **installer**: avoid printing executed commands output by stdout
|
|
140
|
+
- **template**: use git_email field in pyproject.toml
|
|
141
|
+
- **prompter**: remove email field from UserRequirements and add git_email and git_user_name
|
|
142
|
+
- **prompter**: remove email question from general project step
|
|
143
|
+
|
|
144
|
+
## 0.7.0 (2025-03-11)
|
|
145
|
+
|
|
146
|
+
### ✨ Features
|
|
147
|
+
|
|
148
|
+
- **template**: add clean architecture template project structure
|
|
149
|
+
|
|
150
|
+
## 0.6.0 (2025-03-11)
|
|
151
|
+
|
|
152
|
+
### ✨ Features
|
|
153
|
+
|
|
154
|
+
- **template**: add standard project project structure templates
|
|
155
|
+
|
|
156
|
+
### ♻️ Code Refactoring
|
|
157
|
+
|
|
158
|
+
- **project-generator**: remove condition of loading the template only when is domain driven design
|
|
159
|
+
- **template**: use include_and_indent custom macro inside domain_driven_design/test template
|
|
160
|
+
- **template**: include always mypy and pytest ini configuration
|
|
161
|
+
- **prompter**: rename empty project template to standard project
|
|
162
|
+
|
|
163
|
+
## 0.5.0 (2025-03-10)
|
|
164
|
+
|
|
165
|
+
### ✨ Features
|
|
166
|
+
|
|
167
|
+
- **installer**: create factory method to choose which dependency manager gets instantiated
|
|
168
|
+
- **installer**: implement PdmInstaller
|
|
169
|
+
|
|
170
|
+
### 🐛 Bug Fixes
|
|
171
|
+
|
|
172
|
+
- **template**: use project_slug for project name inside pyproject.toml
|
|
173
|
+
|
|
174
|
+
### ♻️ Code Refactoring
|
|
175
|
+
|
|
176
|
+
- **cli**: use DependencyManagerFactory instead of always instantiating UvManager
|
|
177
|
+
- **installer**: remove ShellConfigurator and ZshConfigurator
|
|
178
|
+
- **cli**: remove shell configurator injection
|
|
179
|
+
- **installer**: remove the use of ShellConfigurator inside installer
|
|
180
|
+
- **prompter**: warn the user that project name cannot contain spaces
|
|
181
|
+
- **prompter**: remove project name question and just leave project slug
|
|
182
|
+
- **installer**: remove executable attribute from UvManager
|
|
183
|
+
|
|
184
|
+
## 0.4.0 (2025-03-09)
|
|
185
|
+
|
|
186
|
+
### ✨ Features
|
|
187
|
+
|
|
188
|
+
- **project-generator**: expose generated project path through ProjectGenerator
|
|
189
|
+
- **installer**: add project_directory field to UvManager to know where to create the virtual environment
|
|
190
|
+
- **installer**: add install_dependencies step to Installer
|
|
191
|
+
- **installer**: implement logic to install dependencies selected by the user in UvManager
|
|
192
|
+
- **installer**: add install_dependencies method to DependencyManger interface
|
|
193
|
+
- **prompter**: implement DependencyQuestion to manage recursive question about what dependencies to install
|
|
194
|
+
- **prompter**: implement DependenciesStep with all questions related to python versions, dependencies etc.
|
|
195
|
+
- **prompter**: implement DomainDrivenDesignStep with bounded context questions.
|
|
196
|
+
- **prompter**: implement GeneralProjectStep that will have common questions such as project name, slug, license etc.
|
|
197
|
+
- **prompter**: implement Steps collection and Step interface
|
|
198
|
+
- **prompter**: implement QuestionWizard to separate questions into steps and be more flexible and dynamic
|
|
199
|
+
- **cli**: install uv by default and python version specified by the user
|
|
200
|
+
- **installer**: implement Installer that will act as the manager class that coordinates all operation required to fully install the project
|
|
201
|
+
- **installer**: implement zsh shell configurator
|
|
202
|
+
- **installer**: create ShellConfigurator interface
|
|
203
|
+
- **installer**: implement UvManager that is in charge of installing uv and the python version required by the user
|
|
204
|
+
- **installer**: add dependency manager interface
|
|
205
|
+
- **installer**: include enums for managers options and operating systems
|
|
206
|
+
- **prompter**: add question to know user's operating system
|
|
207
|
+
- **prompter**: create MultipleChoiceQuestion for questions where the user can select zero, one or more options
|
|
208
|
+
- **prompter**: create BooleanQuestion for yes or no questions
|
|
209
|
+
- **prompter**: create FreeTextQuestion for those questions where the user has to write something
|
|
210
|
+
- **prompter**: create ChoiceQuestion to encapsulate questions that have different options the user needs to choose from
|
|
211
|
+
- **project-generator**: create custom exception when node type does not exist
|
|
212
|
+
- **cli**: make sure user_requirements are loaded
|
|
213
|
+
- **prompter**: add load_from_file method to UserRequirements
|
|
214
|
+
|
|
215
|
+
### 🐛 Bug Fixes
|
|
216
|
+
|
|
217
|
+
- **project-generator**: correct path to templates
|
|
218
|
+
|
|
219
|
+
### ♻️ Code Refactoring
|
|
220
|
+
|
|
221
|
+
- **installer**: specify working directory to UvManager so it installs everything at the generated project
|
|
222
|
+
- **cli**: pass generated project path to UvManager
|
|
223
|
+
- **installer**: inline uv install command attribute as is not something reusable
|
|
224
|
+
- **cli**: inject folder tree and template manager to project generator
|
|
225
|
+
- **project-generator**: set the directory where user project will be generated as FolderTree attribute and expose it through a property
|
|
226
|
+
- **project-generator**: pass folder_tree and template_manager injected into ProjectGenerator
|
|
227
|
+
- **cli**: pass user dependencies to installer
|
|
228
|
+
- **prompter**: substitute fixed default dependencies by dynamic ones that will be asked to the user
|
|
229
|
+
- **prompter**: remove question definition lists and basic prompter
|
|
230
|
+
- **cli**: substitute BasicPrompter for QuestionWizard
|
|
231
|
+
- **prompter**: remove python manager and operating system questions
|
|
232
|
+
- **prompter**: extract helper method to know if template is ddd
|
|
233
|
+
- **prompter**: delegate ask logic to each question instead of letting prompter what to do depending on flags
|
|
234
|
+
- **prompter**: redefine questions using concrete implementations
|
|
235
|
+
- **prompter**: make Question abstract and add ask abstract method
|
|
236
|
+
- **project-generator**: rename Directory's init attribute to python_module and remove default value for children
|
|
237
|
+
- **project-generator**: move children extraction only when node is a directory
|
|
238
|
+
- **src**: remove old src folder with cookiecutter project and convert current instant_python module into src
|
|
239
|
+
|
|
240
|
+
## 0.3.0 (2025-03-01)
|
|
241
|
+
|
|
242
|
+
### ✨ Features
|
|
243
|
+
|
|
244
|
+
- **template**: include mock event bus template for testing
|
|
245
|
+
- **template**: add scripts templates
|
|
246
|
+
- **prompter**: add fastapi option to built in features
|
|
247
|
+
- **template**: include templates for fasta api application with error handlers, http response modelled with logger
|
|
248
|
+
- **prompter**: add async alembic to built in features options
|
|
249
|
+
- **template**: include templates for async alembic
|
|
250
|
+
- **prompter**: add async sqlalchemy to built in features options
|
|
251
|
+
- **template**: add templates for async sqlalchemy
|
|
252
|
+
- **prompter**: include logger as built in feature
|
|
253
|
+
- **template**: add template for logger
|
|
254
|
+
- **prompter**: include event bus as built in feature
|
|
255
|
+
- **templates**: add project structure template for event bus
|
|
256
|
+
- **templates**: add LICENSE template
|
|
257
|
+
- **prompter**: add year to user requirements fields with automatic computation
|
|
258
|
+
- **templates**: include mypy and pytest init files when default dependencies are selected
|
|
259
|
+
- **templates**: add .python-version template
|
|
260
|
+
- **templates**: add .gitignore template
|
|
261
|
+
- **templates**: add pyproject template
|
|
262
|
+
- **templates**: add makefile template
|
|
263
|
+
|
|
264
|
+
### ♻️ Code Refactoring
|
|
265
|
+
|
|
266
|
+
- **cli**: generate user requirements only if no other file has been already generated.
|
|
267
|
+
- **template**: move makefile template to scripts folder as this folder only makes sense if it's use with the makefile
|
|
268
|
+
- **template**: move base from sync sqlalchemy to persistence folder as it would be the same for both sync and async
|
|
269
|
+
- **template**: move sqlalchemy sync templates to specific folder
|
|
270
|
+
- **template**: move exceptions templates to specific folder
|
|
271
|
+
- **template**: move value object templates to specific folder
|
|
272
|
+
- **template**: move github actions templates to specific folder
|
|
273
|
+
- **template**: move logger templates to specific folder
|
|
274
|
+
- **project-generator**: modify File class to be able to manage the difference between the path to the template and the path where the file should be written
|
|
275
|
+
- **template**: change all yml templates to point to inner event_bus folder boilerplate
|
|
276
|
+
- **template**: move all boilerplate related to event bus inside specific folder
|
|
277
|
+
- **prompter**: change github information for basic name and email
|
|
278
|
+
- **prompter**: move default dependencies question to general questions and include the default dependencies that will be included
|
|
279
|
+
- **prompter**: remove converting to snake case all answers and set directly those answers in snake case if needed
|
|
280
|
+
- **templates**: use raw command inside github action instead of make
|
|
281
|
+
|
|
282
|
+
## 0.2.0 (2025-02-27)
|
|
283
|
+
|
|
284
|
+
### ✨ Features
|
|
285
|
+
|
|
286
|
+
- **templates**: add invalid id format error template
|
|
287
|
+
- **templates**: add domain error template
|
|
288
|
+
- **prompter**: add synchronous sqlalchemy option to built in features question
|
|
289
|
+
- **templates**: add synchronous sqlalchemy template
|
|
290
|
+
- **project-generator**: create custom operator to be applied to jinja templates
|
|
291
|
+
- **prompter**: add pre commit option to built in features question
|
|
292
|
+
- **templates**: add pre commit template
|
|
293
|
+
- **prompter**: add makefile option to built in features question
|
|
294
|
+
- **templates**: add makefile template
|
|
295
|
+
- **templates**: separate value objects folder template in a single yml file
|
|
296
|
+
- **templates**: add macro to include files easier and more readable
|
|
297
|
+
- **project-generator**: add TemplateTypes enum to avoid magic strings
|
|
298
|
+
- **prompter**: add question to know which features the user wants to include
|
|
299
|
+
- **prompter**: implement new function to have multiselect questions
|
|
300
|
+
- **prompter**: define all questions in a separate file
|
|
301
|
+
- **prompter**: create Question class to encapsulate questions information
|
|
302
|
+
- **project-generator**: create YamlFile class to create yaml files
|
|
303
|
+
- **project-generator**: create Directory class to create simple folders
|
|
304
|
+
- **templates**: add templates to create github actions and workflows
|
|
305
|
+
- **project-generator**: create NodeType enum to avoid magic strings
|
|
306
|
+
- **templates**: add python files boilerplate
|
|
307
|
+
- **project-generator**: implement logic to create python files with boilerplate content
|
|
308
|
+
- **project-generator**: create specific class to manage jinja templates
|
|
309
|
+
- **prompter**: add save_in_memory method to UserRequirements
|
|
310
|
+
- **project-generator**: implement logic to create python modules
|
|
311
|
+
- **templates**: create DSL to set the folder structure
|
|
312
|
+
- **project-generator**: create classes to model how python files and modules would be created
|
|
313
|
+
- **project-generator**: delegate folder generation to folder tree class
|
|
314
|
+
- **project-generator**: create manager class in charge of creating all project files and folders
|
|
315
|
+
- **prompter**: create class to encapsulate user answers
|
|
316
|
+
- **prompter**: create basic class that asks project requirements to user
|
|
317
|
+
- **cli**: create basic typer application with no implementation
|
|
318
|
+
|
|
319
|
+
### 🐛 Bug Fixes
|
|
320
|
+
|
|
321
|
+
- **project-generator**: correct extra blocks that where being created when including templates
|
|
322
|
+
|
|
323
|
+
### ♻️ Code Refactoring
|
|
324
|
+
|
|
325
|
+
- **templates**: modify error templates to use DomainError
|
|
326
|
+
- **templates**: change all python-module types to directory and add python flag when need it
|
|
327
|
+
- **project-generator**: make Directory general for any type of folder and remove python module class
|
|
328
|
+
- **project-generator**: remove python_module node type
|
|
329
|
+
- **templates**: set all files of type file and add them the extension variable
|
|
330
|
+
- **project-generator**: add extension field to node and remove deprecated options
|
|
331
|
+
- **project-generator**: create a single node type File that will work with any kind of file
|
|
332
|
+
- **project-generator**: substitute python file and yml file node type for single file
|
|
333
|
+
- **templates**: use new operator to write a single children command in source
|
|
334
|
+
- **project-generator**: include new custom operator in jinja environment
|
|
335
|
+
- **templates**: remove populated shared template
|
|
336
|
+
- **templates**: include value objects template when is specified by the user
|
|
337
|
+
- **templates**: import and call macro inside project structures templates
|
|
338
|
+
- **prompter**: format all answers to snake case
|
|
339
|
+
- use TemplateTypes instead of literal string
|
|
340
|
+
- **project-generator**: change template path name when generating project
|
|
341
|
+
- **templates**: move ddd templates inside project_structure folder
|
|
342
|
+
- **prompter**: migrate BasicPrompter to use questionary instead of typer to make the questions as it manages multiple selections better
|
|
343
|
+
- **cli**: instantiate BasicPrompter instead of using class method
|
|
344
|
+
- **prompter**: simplify ask method by using Question object an iterating over the list of defined questions
|
|
345
|
+
- **templates**: modularize main_structure file
|
|
346
|
+
- **project-generator**: create project structure inside a temporary directory
|
|
347
|
+
- **project-generator**: delegate template management to TemplateManager
|
|
348
|
+
- **cli**: call BasicPrompter and ProjectGenerator inside cli app
|