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
157 changes: 4 additions & 153 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,165 +15,16 @@
<img alt="PyPI - Status" src="https://img.shields.io/pypi/status/initvenv">
<a href="https://github.com/Dev2Forge/initvenv/actions/workflows/build-and-publish-wheels.yml"><img src="https://github.com/Dev2Forge/initvenv/actions/workflows/build-and-publish-wheels.yml/badge.svg"/></a>

> See original version: Download the latest [release](https://github.com/Dev2Forge/Init-Venv/releases)

## Table of Contents

- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Original Version (C# native version)](#original-version-c-native-version)
- [This (`pip install`)](#this-pip-install)
- [Usage](#usage)
- [Method 1: Windows File Explorer (Recommended)](#method-1-windows-file-explorer-recommended)
- [Method 2: Command Line](#method-2-command-line)
- [How It Works](#how-it-works)
- [Screenshots](#screenshots)
- [Important Notes](#important-notes)
- [Contributing](#contributing)
- [License](#license)
- [Links](#links)
- [Pipy version](#pipy-version)
- [Original version](#original-version)
- [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.

## Features

- **One-command setup**: Create Python virtual environment, install requirements, and activate with a single command
- **Windows integration**: Works seamlessly with Windows File Explorer
- **Automatic detection**: Finds and installs requirements from `requirements.txt` automatically
- **Path flexibility**: Supports both absolute and relative paths
- **Zero configuration**: Just run and go

## Requirements

- Python installed and added to system PATH
- **Windows operating system** (_currently Windows-only_)

## Installation

### Original Version (C# native version)
1. Download the latest [release](https://github.com/Dev2Forge/Init-Venv/releases)
2. Run the installer
3. The installer will:
- Copy `InitVenv-{architecture}.exe` and `InitVenv.bat` to your chosen directory
- Add the installation directory to system PATH

---


### This (`pip install`)

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

1. open a CMD and write
```shell
pip install initvenv
```
2. Cuando instale, ya puedes usarlo (Como dije anteriormente, esta version solo permite llamdados desde consola, nada de explorador de archivos de windows)

## Usage

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

> If you want to have full compatibility, please consider installing the original executable version.
Download the latest [release](https://github.com/Dev2Forge/Init-Venv/releases)

---

### Method 2: Command Line

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

You can use both absolute and relative paths:
```bash
# 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 (Pass current path if you don't pass any):

```shell
@echo off
if "%~1"=="" (
set "target=%CD%"
) else (
set "target=%~1"
)

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

When you run `initvenv`, it:
1. Detects the current directory
2. Creates a Python virtual environment (`.venv`)
3. Activates the virtual environment
4. Installs packages from `requirements.txt` (if present)
5. Keeps the terminal open for continued work

## Screenshots

| Scenario | Preview |
| :------- | :------ |
| 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

- The `requirements.txt` file must contain the dependencies **before** running InitVenv
- The program will not understand requirements once the virtual environment is created
- Currently supports Windows systems only

## Contributing

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.

## License

This project is licensed under the GPL-3.0 License - see the [LICENSE](https://github.com/Dev2Forge/initvenv/blob/main/LICENSE) file for details.

## Links

### Pipy version

- [GitHub Home](https://github.com/Dev2Forge/initvenv/)
- [Releases](https://github.com/Dev2Forge/initvenv/releases)
- [Issues](https://github.com/Dev2Forge/initvenv/issues)
- [Pull Requests](https://github.com/Dev2Forge/initvenv/pulls)

### Original version

- [GitHub Home](https://github.com/Dev2Forge/Init-Venv/)
- [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)
- [Download from SourceForge](https://sourceforge.net/projects/Init-Venv/)
<a href="https://www.dev2forge.software/initvenv/">
<h2>Init Venv Home (Website)</h2>
</a>

## Contributors

<table align="center">
<tr>
<td align="center"><a href="https://github.com/tutosrive/"><img src="https://avatars.githubusercontent.com/tutosrive?v=4?s=100" width="100px;" alt="Tutos Rive Profile Github Logo"/><br /><sub><b>tutosrive</b></sub></a><br /><a href="https://github.com/Dev2Forge/Init-Venv/commits?author=tutosrive" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/tutosrive/"><img src="https://avatars.githubusercontent.com/tutosrive?v=4?s=100" width="50px;" alt="Tutos Rive Profile Github Logo"/><br /><sub><b>tutosrive</b></sub></a><br /><a href="https://github.com/Dev2Forge/Init-Venv/commits?author=tutosrive" title="Code">💻</a></td>
</tr>
</table>

Expand Down
4 changes: 2 additions & 2 deletions 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.0"
version = "0.1.1"
description = "Cross-language CLI tool written in C# to initialize Python virtual environments instantly with one command: 'initvenv'."
readme = { file = "README.md", content-type = "text/markdown", charset = "utf-8" }
license = "GPL-3.0"
Expand Down Expand Up @@ -41,7 +41,7 @@ classifiers = [
]

[project.urls]
Homepage = "https://github.com/Dev2Forge/initvenv"
Homepage = "https://www.dev2forge.software/initvenv/"
Repository = "https://github.com/Dev2Forge/initvenv"
Issues = "https://github.com/Dev2Forge/initvenv/issues"
Download = "https://sourceforge.net/projects/Init-Venv/"
Expand Down