Metadata-Version: 2.1
Name: autoCppToPy
Version: 0.0.1
Summary: 'Can\'t remember how to compile C++ code into a python module with pybind11? autoCppToPy is here to make it easier than ever!'
Home-page: https://github.com/cornusandu/CppToPy
Author: Sandu Bogdan
Author-email: bogdanelsandu@hotmail.com
Project-URL: Bug Tracker, https://github.com/cornusandu/CppToPy/issues
Project-URL: GitHub Repository, https://github.com/cornusandu/CppToPy
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: C++
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# autoCppToPy
## Q&A
**Q**: What is autoCppToPy?<br>
**A**: autoCppToPy is an easy and fast way to compile C++ code into a Python module
<br><br>
**Q**: How does autoCppToPy work under the hood?
**A**: autoCppToPy uses pybind11 to compile your C++ code into a python module
<br><br>
**Q**: How can I use CppToPy
**A**: autoCppToPy can either be imported into your python code, allowing you to compile any C++ file yourself using autoCppToPy, or it can be used directly in the command line

## CLI Documentation
### Usage
(* = required)
```commandline
python -m cpptopy -f <source file*> --header <header file*> -o <package name*> -l <language name = "C++"> --auto-stubs <generate auto .pyi files = False>
```

### Example
main.hpp:
```cpp
int add(int a, int b);
```

main.cpp:
```cpp
#include "main.hpp"
int add(int a, int b) {
    return a + b
}
```

cli:
```commandline
python -m cpptopy -f "main.cpp" --header "main.hpp" -o "my_module" --auto-stubs True
```

main.py
```python
import my_module
my_module.add(2, 3)  # 5
```

## Creator Notes
autoCppToPy is still under development. It may contain bugs and glitches or unfinished features.
