Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically install dependencies after bootstrapping a project via CLI #317

Closed
janbuchar opened this issue Jul 17, 2024 · 4 comments · Fixed by #538
Closed

Automatically install dependencies after bootstrapping a project via CLI #317

janbuchar opened this issue Jul 17, 2024 · 4 comments · Fixed by #538
Assignees
Labels
enhancement New feature or request. t-tooling Issues with this label are in the ownership of the tooling team.

Comments

@janbuchar
Copy link
Collaborator

janbuchar commented Jul 17, 2024

Currently we only support poetry, but it'd be beneficial to also have a "raw pip" flavor of the templates.

@janbuchar janbuchar added the enhancement New feature or request. label Jul 17, 2024
@vdusek

This comment was marked as resolved.

@fnesveda fnesveda added the t-tooling Issues with this label are in the ownership of the tooling team. label Jul 19, 2024
@souravjain540
Copy link
Collaborator

a BIG THANKS for this!

@janbuchar
Copy link
Collaborator Author

a BIG THANKS for this!

I mean, it is on the roadmap, but not yet finished by any means. Just to make it clear.

I understand you get a lot of questions about this, huh?

@janbuchar janbuchar self-assigned this Sep 20, 2024
janbuchar added a commit that referenced this issue Dec 2, 2024
This adds a unified `crawlee/project_template` template. The original
`playwright` and `beautifulsoup` templates are kept for compatibility
with older versions of the CLI.

The user is now prompted for package manager type (pip, poetry), crawler
type, start URL and whether or not Apify integration should be set up.

- closes #317
- closes #414 (http client selection is not implemented)
- closes #511
- closes #495

### TODO

- [x] http client selection
- [x] disable poetry option if it isn't installed
- [x] rectify the pip-based setup
1. **manual dependency installation** - no automatic installation, just
dump requirements.txt and tell the user to handle it any way they want
2. **pip+venv** - dump requirements.txt, make a virtualenv (.venv) using
the current python interpreter, install requirements and tell user to
activate it
- ~should be disabled if `venv` module is not present~ it's stdlib
- [x] test the whole thing on Windows (mainly the various package
manager configurations)
- [x] fix how cookiecutter.json is read (it is not present when
installing via pip)
Mantisus pushed a commit to Mantisus/crawlee-python that referenced this issue Dec 10, 2024
This adds a unified `crawlee/project_template` template. The original
`playwright` and `beautifulsoup` templates are kept for compatibility
with older versions of the CLI.

The user is now prompted for package manager type (pip, poetry), crawler
type, start URL and whether or not Apify integration should be set up.

- closes apify#317
- closes apify#414 (http client selection is not implemented)
- closes apify#511
- closes apify#495

### TODO

- [x] http client selection
- [x] disable poetry option if it isn't installed
- [x] rectify the pip-based setup
1. **manual dependency installation** - no automatic installation, just
dump requirements.txt and tell the user to handle it any way they want
2. **pip+venv** - dump requirements.txt, make a virtualenv (.venv) using
the current python interpreter, install requirements and tell user to
activate it
- ~should be disabled if `venv` module is not present~ it's stdlib
- [x] test the whole thing on Windows (mainly the various package
manager configurations)
- [x] fix how cookiecutter.json is read (it is not present when
installing via pip)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request. t-tooling Issues with this label are in the ownership of the tooling team.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants