Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build-and-publish-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,9 @@ jobs:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
# Prodcution
run: python -m twine upload dist/*.whl
# run: python -m twine upload dist/*.whl
# Test
# run: python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*.whl
run: python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*.whl

- name: Upload artifact (wheel)
uses: actions/upload-artifact@v4
Expand Down
63 changes: 34 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
<div align="center">
<h1 align="center">Note</h1>
<img src="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@d7a4b45e621e1f2868a264b1f614aba266d4ec71/dev2forge/InitVenv/quote.jpg">
</div>

---

<h1 align="center">InitVenv</h1>

<div align="center">
<img src="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@dd775fc24cf6c63171b85694bd0b7d567f055676/dev2forge/InitVenv/icon.ico" width="200"/>
<a href="https://github.com/Dev2Forge/Init-Venv/"><img src="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@dd775fc24cf6c63171b85694bd0b7d567f055676/dev2forge/InitVenv/icon.ico" width="200"></a>
</div>

## Table of Contents
Expand All @@ -28,7 +21,7 @@
- [Links](#links)
- [Contributors](#contributors)

**InitVenv** is a cross-platform automation tool that streamlines Python development workflow by automatically creating Python virtual environments, installing project dependencies from `requirements.txt`, and activating the environment with a single command execution. Currently supports Windows, with Linux and macOS support planned for future releases.
**InitVenv** is a cross-platform automation tool that streamlines Python development workflow by automatically creating Python virtual environments, installing project dependencies from `requirements.txt`, and activating the environment with a single command execution. Currently supports Windows, with **Linux** and **macOS** support planned for future releases.

## Features

Expand All @@ -55,35 +48,46 @@

### Method 1: Windows File Explorer (Recommended)

1. Navigate to your project directory using Windows File Explorer
2. Create a `requirements.txt` file with your Python dependencies
3. Press <kbd>Ctrl</kbd> + <kbd>L</kbd> to activate the address bar
4. Type `InitVenv` and press Enter
5. The program will automatically create the virtual environment and install dependencies
> If you want to have full compatibility, please consider installing the original executable version.

> Important: If you want the command to be available globally, you must install .__. in the global Python installation — that is, outside of virtual environments.


### Method 2: Command Line

```bash
InitVenv "C:\path\to\your\project"
initvenv "C:\path\to\your\project"
```

You can use both absolute and relative paths:
```bash
InitVenv ".\my-project"
InitVenv ".."
# This
initvenv ".\my-project"
# Or
initvenv ".."
# or
initvenv "C:\path\to\folder\"
```

## How It Works

The installer creates a simple batch file that launches the main executable:
The installer creates a simple batch file that launches the main executable (Pass current path if you don't pass any):

```batch
```shell
@echo off
start "" "InitVenv-x64.exe" "%CD%"
exit
if "%~1"=="" (
set "target=%CD%"
) else (
set "target=%~1"
)

setlocal
"%~dp0initvenv.exe" "%target%"
endlocal
exit /b %ERRORLEVEL%
```

When you run `InitVenv`, it:
When you run `initvenv`, it:
1. Detects the current directory
2. Creates a Python virtual environment (`.venv`)
3. Activates the virtual environment
Expand All @@ -94,11 +98,11 @@ When you run `InitVenv`, it:

| Scenario | Preview |
| :------- | :------ |
| Program startup error - missing working directory | <img width="680" height="412" alt="Program startup error showing missing working directory configuration" src="https://github.com/user-attachments/assets/8b4243a0-4c83-4956-b5e6-7a02d92135bb" /> |
| Successful program initialization without requirements file | <img width="976" height="513" alt="Program successfully started without requirements file installation" src="https://github.com/user-attachments/assets/7e5edffb-4ddc-41df-abe8-b77e88162f61" /> |
| Console with virtual environment activated for user | <img width="598" height="309" alt="Terminal console showing activated virtual environment for user interaction" src="https://github.com/user-attachments/assets/c2acd251-88cb-4285-bd31-10c7c463051a" /> |
| Program execution with requirements file installation | <img width="1347" height="596" alt="Program running with automatic requirements file installation process" src="https://github.com/user-attachments/assets/f7e995e2-ff1c-4daf-bc73-9ee5a5430597" /> |
| User terminal session maintained after setup | <img width="566" height="257" alt="User terminal session preserved and ready for continued interaction" src="https://github.com/user-attachments/assets/bc28f7fa-3024-4461-ad58-6462c871fdd6" /> |
| Program startup error - missing working directory | <img height="30%" alt="Program startup error showing missing working directory configuration" src="https://github.com/user-attachments/assets/8b4243a0-4c83-4956-b5e6-7a02d92135bb" /> |
| Successful program initialization without requirements file | <img height="30%" alt="Program successfully started without requirements file installation" src="https://github.com/user-attachments/assets/7e5edffb-4ddc-41df-abe8-b77e88162f61" /> |
| Console with virtual environment activated for user | <img height="30%" alt="Terminal console showing activated virtual environment for user interaction" src="https://github.com/user-attachments/assets/c2acd251-88cb-4285-bd31-10c7c463051a" /> |
| Program execution with requirements file installation | <img height="30%" alt="Program running with automatic requirements file installation process" src="https://github.com/user-attachments/assets/f7e995e2-ff1c-4daf-bc73-9ee5a5430597" /> |
| User terminal session maintained after setup | <img height="30%" alt="User terminal session preserved and ready for continued interaction" src="https://github.com/user-attachments/assets/bc28f7fa-3024-4461-ad58-6462c871fdd6" /> |

## Important Notes

Expand All @@ -108,7 +112,8 @@ When you run `InitVenv`, it:

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.
Contributions are welcome! Please feel free to submit a Pull Request. **I’d be glad to receive help writing the Linux and macOS versions, and adding compatibility with the Windows file system (in this PyPI version — the original version already includes that compatibility).
**

See the [Release Notes](https://github.com/Dev2Forge/Init-Venv/releases) for detailed development history and changelog.

Expand All @@ -118,7 +123,7 @@ This project is licensed under the GPL-3.0 License - see the [LICENSE](LICENSE)

## Links

- [Download from SourceForge](https://sourceforge.net/projects/init-venv/)
- [Download from SourceForge](https://sourceforge.net/projects/Init-Venv/)
- [GitHub Releases](https://github.com/Dev2Forge/Init-Venv/releases)
- [Issues](https://github.com/Dev2Forge/Init-Venv/issues)
- [Pull Requests](https://github.com/Dev2Forge/Init-Venv/pulls)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "initvenv"
version = "0.1.0a11"
version = "0.1.0a13"
description = "Test InitVenv package. Currently available as a standalone executable at https://github.com/Dev2Forge/Init-Venv/releases."
readme = { file = "README.md", content-type = "text/markdown", charset = "utf-8" }
license = "GPL-3.0"
Expand Down