dependencies
Upgraded the limedriver subproject to bring in latest enhancements and
fixes. Added 'h5py' and 'matplotlib' to the list of Python project
dependencies, ensuring the availability of necessary libraries for data
handling and plotting functionalities within our project.
Updated .gitignore to exclude distribution directories, preventing accidental inclusion in the repository. Added MANIFEST.in to specify additional files for source distribution, ensuring that necessary Cython and C source files are packaged correctly.
- Standardized the C++ compiler across build environments by setting it in `setup.py`, ensuring consistent compilation of Cython extensions.
- Transitioned to using `setuptools.build_meta` as the build backend in `pyproject.toml` for enhanced package build processes.
- Modified the extension module path in `setup.py` to align with the new Python binding structure.
- Introduced Python property decorators to `PyLimeConfig` class in `limedriver.pyx` for getter methods, enhancing the Pythonic interface of the Cython module.
- Facilitated direct import of the binding in `__init__.py`, streamlining the usage of the `limedriver` package.
The .gitignore file now ignores C++ build artifacts alongside existing ones. In setup.py, the build configuration for 'limedriver' was modified to include a new C++ source file, indicating a shift to or expansion of C++ code usage within the project. This change prepares the build process to handle and compile C++ code, potentially for performance improvements or new functionality that leverages C++ capabilities.
The limedriver submodule has been updated to incorporate the latest enhancements and bug fixes, ensuring improved stability and performance for the dependent projects. This change aligns with ongoing efforts to maintain up-to-date dependencies and leverage recent improvements in external libraries.
Removed the version restrictions for setuptools and Cython from the project build system configuration to increase compatibility with broader ranges of environments. This change aims to simplify setup and prevent potential conflicts with other packages that require different versions.
Enhanced the .gitignore to filter out additional build artifacts and Python cache files, promoting a cleaner repository state. Introduced a basic project structure with a new pyproject.toml, defining metadata and build requirements for the 'limedriver' Python package. Also added a LICENSE file and a custom setup.py which automates the retrieval and build of 'limedriver' submodules, streamlining the set-up for development and ensuring consistent builds across environments. These changes lay the groundwork for further development and distribution of the project.