Commit graph

48 commits

Author SHA1 Message Date
Kumi a137c3b914
Update Ubuntu workflow to include liblimesuite-dev
Ensured that liblimesuite-dev package is installed as part of the
dependencies for our GitHub Actions workflow. This is to address missing
development headers required for interfacing with LimeSuite in our
Python package build process.
2024-02-09 15:16:54 +01:00
Kumi 4b2226e3f9
Add HDF5 include path to limedriver extension
Extended the include directories for the limedriver binding in setup.py
to address linking issues with HDF5 serialization. This is a temporary
workaround to ensure compatibility and successful building of the
extension, as indicated by the 'TODO' comment highlighting the need for
a cleaner solution. Further refinement is required to integrate HDF5 in
a more elegant manner.
2024-02-09 15:12:02 +01:00
Kumi a85671e1af
Updated submodule commands and linked against
hdf5_cpp library

Enabled the use of shell in 'git submodule' commands to ensure
cross-platform compatibility in the setup process. Also revised the
linked libraries for the 'limedriver.binding' extension, replacing
'hdf5' with 'hdf5_cpp' to properly utilize the C++ HDF5 library
interface. This change is expected to enhance compatibility and
performance when interacting with HDF5 files.
2024-02-09 14:43:35 +01:00
Kumi 7572583efb
Added hdf5 library dependency to limedriver
binding

Extended the library dependencies for the limedriver binding in setup.py
to include the hdf5 library, ensuring compatibility with data handling
features that require HDF5 support. This change addresses the need for
advanced data storage and management capabilities within the limedriver
interface.
2024-02-09 14:04:28 +01:00
Kumi a61875e9a8
Fixed main branch 2024-02-09 13:47:11 +01:00
Kumi 7aa4df9d2c
Standardize Python version syntax in CI config
Ensure the Python version is specified as a string in the Ubuntu
workflow configuration to prevent potential parsing issues by the
setup-python GitHub Action. This update aligns with the recommended
practices for YAML file consistency and compatibility.
2024-02-09 13:07:33 +01:00
Kumi 41bf2603d8
Refactor CI setup for Python 3.10
Upgraded the GitHub Actions workflow to explicitly set up Python 3.10.
Simplified the installation process by using pip to upgrade and install
necessary Python packages such as h5py, setuptools, wheel, and build,
rather than installing individual Python and pip packages via apt-get.
This ensures a more standardized and up-to-date environment for CI
processes. Removed explicit python3 references in favor of the
actions/setup-python environment, aligning with the GitHub Actions best
practices.
2024-02-09 13:05:36 +01:00
Kumi e0be3eec25
Updated Python command to specify version 3 for
build step

Modified the build command in the CI workflow to explicitly call Python
3 to ensure compatibility and avoid potential conflicts with systems
where Python 2 is the default. This change aligns the build process with
modern Python practices and reduces ambiguity in environments where
multiple Python versions are available.
2024-02-09 13:01:07 +01:00
Kumi 5ccb4e080b
Expand Ubuntu workflow setup with venv and Python
alias

Enhanced the GitHub Actions workflow for the Ubuntu environment by
including python3-venv to facilitate virtual environment management.
Additionally, established python-is-python3 to standardize the Python
command, ensuring consistency and avoiding potential versioning issues
across different setups.
2024-02-09 12:57:41 +01:00
Kumi df2341f08d
Enhance CI setup with python3-build addition
Upgraded our GitHub Actions CI Python package workflow for Ubuntu by
including the `python3-build` package during the dependency installation
phase. This addition ensures compatibility with projects that require
this specific package for building Python applications.
2024-02-09 12:55:44 +01:00
Kumi d13645c3a5
Add GitHub workflow for Ubuntu build; remove
token, update submodule

Introduced a new GitHub Actions workflow to automate Python package
builds on Ubuntu environments upon push or pull request events. This
addition ensures the compatibility of the package on the Ubuntu platform
and streamlines the continuous integration process.

Updated the limedriver submodule to the latest commit, keeping the
project in sync with recent upstream changes and maintaining the
integrity of external dependencies.
2024-02-09 12:53:59 +01:00
Kumi c98ffcb56c
Merging main 2024-02-09 12:44:08 +01:00
Kumi 67aaf961c6
Updated limedriver subproject and Python
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.
2024-02-09 12:41:57 +01:00
Julia Pfitzer 12834a785a
Merge pull request #1 from nqrduck/new_structure
New structure
2024-02-09 11:10:17 +01:00
jupfi b00362aa16 remobe debug prints. 2024-02-09 11:06:56 +01:00
jupfi 0b37e4b861 Removed init method since this is done by the c++ method. 2024-02-09 11:05:35 +01:00
jupfi 4ee709a7ce Fixed memory leakage. Thanks Kumi (Howdy Pardner)!
Co-authored-by: Kumi <git@kumi.email>
2024-02-09 11:02:28 +01:00
jupfi 6f2a6dd594 Version with memory leakage 2024-02-09 09:44:54 +01:00
jupfi 62c8863a4e Added hdf reader, but there still seems to be a memory leakage bug. 2024-02-08 21:57:59 +01:00
jupfi 57d9274199 At least it's not crashing... run experiment is working (?) 2024-02-08 20:30:40 +01:00
jupfi 85ecf5f39d Implemented default LimeCfg through initialize function 2024-02-08 16:31:30 +01:00
jupfi 68f5b60e93 Merge branch 'main' of github.com:nqrduck/LimeDriverBindings 2024-02-08 16:22:43 +01:00
Kumi f47614763b
Update python-package.yml 2024-02-08 15:49:27 +01:00
Kumi e7dfa71ee3
Update python-package.yml 2024-02-08 15:46:22 +01:00
Kumi f7fe5ddf96
Update python-package.yml 2024-02-08 15:41:12 +01:00
Kumi 6dc4448bac
Update python-package.yml 2024-02-08 15:37:48 +01:00
Kumi 68c7539e4d
Update python-package.yml 2024-02-08 15:30:49 +01:00
Kumi 31b95cf7b8
Update python-package.yml 2024-02-08 15:26:47 +01:00
Kumi 3de2a45c8e
Update python-package.yml 2024-02-08 15:26:31 +01:00
Kumi 6fd453ff8e
Update python-package.yml 2024-02-08 15:24:47 +01:00
Kumi e8056bcf3d
Update python-package.yml 2024-02-08 15:21:25 +01:00
Kumi a8d562c046
Enhance package build process
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.
2024-02-08 15:19:25 +01:00
Kumi 4d2b00a30d
Update python-package.yml 2024-02-08 15:16:20 +01:00
Kumi 7cff57d967
Update python-package.yml 2024-02-08 15:14:17 +01:00
Kumi 338dc5667b
Update python-package.yml 2024-02-08 15:12:37 +01:00
Kumi 1de0396cbf
Create python-package.yml 2024-02-08 15:09:28 +01:00
jupfi 1942b18d13 memory allocation for pointers and arrays 2024-02-08 15:06:47 +01:00
jupfi 08764a08ab Added complete LimeConfig_t struct 2024-02-08 15:04:45 +01:00
jupfi f53ad866ff Implemented first pointer p_dur 2024-02-08 14:56:50 +01:00
jupfi 4d4161e878 Memory allocation for strings 2024-02-08 14:44:51 +01:00
Kumi 1f24eb3f64
Enforce C++ compiler for Cython and fix Python binding
- 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.
2024-02-08 09:52:51 +01:00
Kumi 4e279892aa
Current version of .pyx
Co-authored-by: jupfi <github@jupfi.me>
2024-02-08 09:14:18 +01:00
Kumi 261ccac1a0
Extend .gitignore and update build setup for C++ integration
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.
2024-02-08 09:07:09 +01:00
Kumi fbf450e913
Update limedriver submodule to latest commit
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.
2024-02-08 09:02:01 +01:00
Kumi 9863cb7c25
Relax build system dependency versions
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.
2024-02-07 18:20:36 +01:00
Kumi 0465a51a46
Initial project config and implement build process
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.
2024-02-07 18:18:44 +01:00
jupfi 22737fbc68 Added limedriver as submodule. 2024-02-07 16:40:02 +01:00
jupfi 4f0be02c68 Initial commit. 2024-02-07 16:01:14 +01:00