CPPinator


NameCPPinator JSON
Version 1.0.5 PyPI version JSON
download
home_pagehttps://github.com/Hardvan/CPPinator
SummaryCPPinator is a Python automation script designed for compiling and running multiple C++ files in a specified directory. It simplifies the process of handling multiple C++ programs and provides a clear and organized output for each program's execution along with the execution time for each program.
upload_time2024-09-09 11:58:08
maintainerNone
docs_urlNone
authorHardik Pawar
requires_python>=3.6
licenseNone
keywords c++ automation script compile run multiple programs cppinator
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CPPinator

CPPinator is a Python automation script designed for compiling and running multiple C++ files in a specified directory. It simplifies the process of handling multiple C++ programs and provides a clear and organized output for each program's execution along with the execution time for each program.

## How it works

1. The script allows you to specify a directory path where your C++ source code files are located.

2. It changes the current working directory to the specified path.

3. CPPinator lists all the C++ source code files with the `.cpp` extension in the directory.

4. For each `.cpp` file found, it compiles the code using `g++` and runs the resulting executable.

5. The script captures and displays the output and any errors produced by each program.

6. Upon successful execution of all C++ files, it provides a summary message.

7. Finally, the compiled executable file (`a.exe`) is deleted to keep your directory clean.

## Usage

1. Ensure you have Python and a C++ compiler (e.g., g++) installed on your system.

2. Install the `CPPinator` package from PyPI using pip:

   ```bash
   pip install CPPinator
   ```

   OR

   Clone or download the `CPPinator.py` script to your local machine.

   ```bash
   git clone https://github.com/Hardvan/CPPinator
   cd CPPinator
   pip install .
   ```

3. Call the `compile_and_run_cpp_files` function from the `CPPinator` package with the directory path as an argument.

   ```python
   from CPPinator import compile_and_run_cpp_files

   compile_and_run_cpp_files("path/to/your/directory")
   ```

   View the `run.py` file for an example of how to use the `CPPinator` package.

## Example Output

Here's an example of the script's output when run with a list of C++ files in the `Basic Problems` directory.

Changing working directory...
Current working directory: F:\CPPinator\Basic Problems

List of .cpp files:

1. `count_digits.cpp`
2. `divisors.cpp`
3. `gcd.cpp`
4. `palindrome_number.cpp`
5. `prime.cpp`
6. `reverse_array.cpp`
7. `reverse_number.cpp`

Running .cpp files:

1. `count_digits.cpp` (1.07s)

   No. of digits in 123456789 is:  
   9  
   9  
   9  
   Expected: 9

2. `divisors.cpp` (1.14s)

   Divisors of 100 are:  
   1 100 2 50 4 25 5 20 10  
   Divisors of 100 are:  
   1 2 4 5 10 20 25 50 100  
   Expected: 1 2 4 5 10 20 25 50 100

3. `gcd.cpp` (1.16s)

   GCD of 12 and 15 is:  
   3  
   3  
   Expected: 3

4. `palindrome_number.cpp` (1.07s)

   12321 is palindrome: true  
   Expected: true

5. `prime.cpp` (1.11s)

   100 is not prime  
   100 is not prime  
   Expected: not prime

6. `reverse_array.cpp` (1.05s)

   Original array:  
   1 2 3 4 5  
   Reversed array using two pointers:  
   5 4 3 2 1  
   Reversed array using recursion:  
   5 4 3 2 1  
   Reversed array using temporary array:  
   5 4 3 2 1  
   Expected: 5 4 3 2 1

7. `reverse_number.cpp` (1.24s)

   Reverse of 123456789 is: 987654321  
   Expected: 987654321

✅ Ran all C++ files successfully. (7.84s)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Hardvan/CPPinator",
    "name": "CPPinator",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "C++, automation, script, compile, run, multiple, programs, CPPinator",
    "author": "Hardik Pawar",
    "author_email": "hardikpawarh@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/64/f3/45118629deae461d88649cad258582e15e16281ea15c221d5a344f3d37ad/CPPinator-1.0.5.tar.gz",
    "platform": null,
    "description": "# CPPinator\r\n\r\nCPPinator is a Python automation script designed for compiling and running multiple C++ files in a specified directory. It simplifies the process of handling multiple C++ programs and provides a clear and organized output for each program's execution along with the execution time for each program.\r\n\r\n## How it works\r\n\r\n1. The script allows you to specify a directory path where your C++ source code files are located.\r\n\r\n2. It changes the current working directory to the specified path.\r\n\r\n3. CPPinator lists all the C++ source code files with the `.cpp` extension in the directory.\r\n\r\n4. For each `.cpp` file found, it compiles the code using `g++` and runs the resulting executable.\r\n\r\n5. The script captures and displays the output and any errors produced by each program.\r\n\r\n6. Upon successful execution of all C++ files, it provides a summary message.\r\n\r\n7. Finally, the compiled executable file (`a.exe`) is deleted to keep your directory clean.\r\n\r\n## Usage\r\n\r\n1. Ensure you have Python and a C++ compiler (e.g., g++) installed on your system.\r\n\r\n2. Install the `CPPinator` package from PyPI using pip:\r\n\r\n   ```bash\r\n   pip install CPPinator\r\n   ```\r\n\r\n   OR\r\n\r\n   Clone or download the `CPPinator.py` script to your local machine.\r\n\r\n   ```bash\r\n   git clone https://github.com/Hardvan/CPPinator\r\n   cd CPPinator\r\n   pip install .\r\n   ```\r\n\r\n3. Call the `compile_and_run_cpp_files` function from the `CPPinator` package with the directory path as an argument.\r\n\r\n   ```python\r\n   from CPPinator import compile_and_run_cpp_files\r\n\r\n   compile_and_run_cpp_files(\"path/to/your/directory\")\r\n   ```\r\n\r\n   View the `run.py` file for an example of how to use the `CPPinator` package.\r\n\r\n## Example Output\r\n\r\nHere's an example of the script's output when run with a list of C++ files in the `Basic Problems` directory.\r\n\r\nChanging working directory...\r\nCurrent working directory: F:\\CPPinator\\Basic Problems\r\n\r\nList of .cpp files:\r\n\r\n1. `count_digits.cpp`\r\n2. `divisors.cpp`\r\n3. `gcd.cpp`\r\n4. `palindrome_number.cpp`\r\n5. `prime.cpp`\r\n6. `reverse_array.cpp`\r\n7. `reverse_number.cpp`\r\n\r\nRunning .cpp files:\r\n\r\n1. `count_digits.cpp` (1.07s)\r\n\r\n   No. of digits in 123456789 is:  \r\n   9  \r\n   9  \r\n   9  \r\n   Expected: 9\r\n\r\n2. `divisors.cpp` (1.14s)\r\n\r\n   Divisors of 100 are:  \r\n   1 100 2 50 4 25 5 20 10  \r\n   Divisors of 100 are:  \r\n   1 2 4 5 10 20 25 50 100  \r\n   Expected: 1 2 4 5 10 20 25 50 100\r\n\r\n3. `gcd.cpp` (1.16s)\r\n\r\n   GCD of 12 and 15 is:  \r\n   3  \r\n   3  \r\n   Expected: 3\r\n\r\n4. `palindrome_number.cpp` (1.07s)\r\n\r\n   12321 is palindrome: true  \r\n   Expected: true\r\n\r\n5. `prime.cpp` (1.11s)\r\n\r\n   100 is not prime  \r\n   100 is not prime  \r\n   Expected: not prime\r\n\r\n6. `reverse_array.cpp` (1.05s)\r\n\r\n   Original array:  \r\n   1 2 3 4 5  \r\n   Reversed array using two pointers:  \r\n   5 4 3 2 1  \r\n   Reversed array using recursion:  \r\n   5 4 3 2 1  \r\n   Reversed array using temporary array:  \r\n   5 4 3 2 1  \r\n   Expected: 5 4 3 2 1\r\n\r\n7. `reverse_number.cpp` (1.24s)\r\n\r\n   Reverse of 123456789 is: 987654321  \r\n   Expected: 987654321\r\n\r\n\u00e2\u0153\u2026 Ran all C++ files successfully. (7.84s)\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "CPPinator is a Python automation script designed for compiling and running multiple C++ files in a specified directory. It simplifies the process of handling multiple C++ programs and provides a clear and organized output for each program's execution along with the execution time for each program.",
    "version": "1.0.5",
    "project_urls": {
        "Homepage": "https://github.com/Hardvan/CPPinator"
    },
    "split_keywords": [
        "c++",
        " automation",
        " script",
        " compile",
        " run",
        " multiple",
        " programs",
        " cppinator"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3611be4e76cb7b7fae1383c67738e0f4b60f45c5c515760140a2c0aed67477cd",
                "md5": "d595c1ea6e50b72634917ab298ded559",
                "sha256": "01fcc599af3b12dfe4cdaaf9122919e1f20f86699fb328292df1b8ebdda4787b"
            },
            "downloads": -1,
            "filename": "CPPinator-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d595c1ea6e50b72634917ab298ded559",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 5799,
            "upload_time": "2024-09-09T11:58:04",
            "upload_time_iso_8601": "2024-09-09T11:58:04.857805Z",
            "url": "https://files.pythonhosted.org/packages/36/11/be4e76cb7b7fae1383c67738e0f4b60f45c5c515760140a2c0aed67477cd/CPPinator-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "64f345118629deae461d88649cad258582e15e16281ea15c221d5a344f3d37ad",
                "md5": "b049207e7dffeb2851e907fc8511e6d0",
                "sha256": "6de908c83672d96163aa4a495714668b3e2df46382ea85815cf9d42f3ff18c7f"
            },
            "downloads": -1,
            "filename": "CPPinator-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "b049207e7dffeb2851e907fc8511e6d0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5282,
            "upload_time": "2024-09-09T11:58:08",
            "upload_time_iso_8601": "2024-09-09T11:58:08.155783Z",
            "url": "https://files.pythonhosted.org/packages/64/f3/45118629deae461d88649cad258582e15e16281ea15c221d5a344f3d37ad/CPPinator-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-09 11:58:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Hardvan",
    "github_project": "CPPinator",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "cppinator"
}
        
Elapsed time: 0.34544s