533 Commits
Author SHA1 Message Date
Geoff Hutchison 8885e57972 Merge pull request #2967 from ghutchis/fix-pypi-uploads
Parse openbabel-x-y-z tags for version numbers
2026-06-22 15:46:19 -04:00
Eisuke Kawashima 821fd4f528 build(python): write _openbabel.so under build directory instead of source directory
Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2026-06-08 10:16:03 +09:00
Eisuke Kawashima d022e006f9 build(bindings_php): fix build issues
add forgotten CPP macro, correct filename, and take care of
compatibility between GNU and BSD sed
2026-05-29 05:44:29 +09:00
Eisuke Kawashima 27c8a497f2 build: do not include FindSWIG
Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2026-05-29 05:44:29 +09:00
Geoff Hutchison f102a229b9 Parse openbabel-x-y-z tags for version numbers
Signed-off-by: Geoff Hutchison <geoff.hutchison@gmail.com>
2026-05-26 23:48:42 -04:00
Geoff Hutchison 05e0e429c9 Merge pull request #2925 from njzjz-bot/master
ci: add cibuildwheel builds
2026-05-20 08:48:41 -04:00
Roman Shterenzon 1d85386411 Tautomers support in Ruby wrapper 2026-05-20 10:16:02 +03:00
Geoff Hutchison 3c73d18bbf Merge pull request #2924 from e-kwsm/2to3
refactor(python)!: drop python 3.3−
2026-05-18 14:53:43 -04:00
Eisuke Kawashima 10a8865cd0 refactor(python)!: drop python2
Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2026-05-18 19:09:04 +09:00
Eisuke Kawashima 86ef344a1d build(python)!: change installation prefix of python libraries
Under the default scheme of Linux and MacOS, `base` variable has no
effect.

before: /usr/lib/pythonX.Y/site-packages
after:  ${CMAKE_INSTALL_PREFIX}/lib/pythonX.Y/site-packages

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2026-05-18 16:02:51 +09:00
njzjz-bot (driven by OpenClaw (model: gpt-5.5))[bot] 66271a9765 fix(ci): use MSVC warning flag for Python bindings
Authored by OpenClaw (model: gpt-5.5)
2026-05-17 08:14:26 +00:00
njzjz-bot (driven by OpenClaw (model: gpt-5.5))[bot] c8c31bfd8d fix(python): allow unresolved symbols in Linux wheels
Authored by OpenClaw (model: gpt-5.5)
2026-05-16 09:37:39 +00:00
njzjz-bot (driven by OpenClaw (model: gpt-5.5))[bot] 8cac61b48a fix(python): build wheel extension modules
Request Python Development.Module instead of full embed development artifacts for pip builds, so manylinux can build the CPython extension without requiring libpython. Also extend wheel rpaths so repair tools can locate package-local libraries from plugin directories.

Authored by OpenClaw (model: gpt-5.5)
2026-05-16 03:54:31 +00:00
njzjz-bot (driven by OpenClaw (model: gpt-5.5))[bot] 2b828b150b fix(python): make wheel libraries relocatable
Use relative wheel rpaths so auditwheel and delocate can locate bundled Open Babel libraries after unpacking the wheel for repair. Avoid linking Unix wheel extension modules against libpython to keep the wheels portable across compatible interpreters.

Authored by OpenClaw (model: gpt-5.5)
2026-05-16 03:30:49 +00:00
njzjz-bot (driven by OpenClaw (model: gpt-5.5))[bot] 669b34b853 ci(python): add cibuildwheel workflow
Add a scikit-build-core Python package entry point for the in-tree Open Babel bindings and wire cibuildwheel to build release artifacts for Linux, macOS, and Windows.

Keep regular CMake installs unchanged by only installing into the wheel package layout when BUILD_BY_PIP is enabled.

Authored by OpenClaw (model: gpt-5.5)
2026-05-16 02:10:09 +00:00
Geoff Hutchison edecc91d2a Merge branch 'master' of github.com:openbabel/openbabel into ruby-reaction 2026-05-14 16:36:39 -04:00
Geoff Hutchison ee5bffa55e Fix bug with crash when deleting OBConformerSearch in Python
- OBConformerSearch now handles filter and score in dtor
- Carefully free when changing score and filter
- Change bindings to ensure Python passes ownership to C++

Signed-off-by: Geoff Hutchison <geoff.hutchison@gmail.com>
2026-05-14 14:26:31 -04:00
Geoff Hutchison 9147cd3cd0 Merge pull request #2773 from fredrikw/test_fixes
Test fixes
2026-05-13 10:51:49 -04:00
Geoff Hutchison cb85587e9c Make sure HAVE_EIGEN3 is properly defined at configure (#2895)
* Make sure HAVE_EIGEN3 is properly defined at configure

* Fixup Perl Zero error in SWIG bindings

Signed-off-by: Geoff Hutchison <geoff.hutchison@gmail.com>

---------

Signed-off-by: Geoff Hutchison <geoff.hutchison@gmail.com>
2026-05-12 22:26:12 -04:00
Geoff Hutchison 174fdff124 Merge branch 'master' of github.com:openbabel/openbabel into FindPython 2026-05-11 11:57:41 -04:00
Eisuke Kawashima 816f19ad7a build!: use CMake FindPython
FindPythonInterp and FindPythonLibs are deprecated since CMake 3.12;
use FindPython instead

- https://cmake.org/cmake/help/v3.12/module/FindPython.html
- https://cmake.org/cmake/help/v3.12/module/FindPythonInterp.html
- https://cmake.org/cmake/help/v3.12/module/FindPythonLibs.html

This requires CMake 3.12 or later
2026-05-09 02:29:18 +09:00
Eisuke Kawashima d5a625eef5 build: find Eigen3 by config mode at first, and check availability by existence of target Eigen3::Eigen
fix #2839
2026-05-09 02:16:36 +09:00
Eisuke Kawashima 6c812b18ab build: link against Eigen3::Eigen to include Eigen headers 2026-05-09 02:16:36 +09:00
Eisuke Kawashima 8014749a97 build!: drop eigen2 2026-05-09 02:16:35 +09:00
Geoff Hutchison bad5907e4b Merge branch 'master' into cmake4 2026-05-07 23:20:49 -04:00
chrisjonesBSU ecd82ebb8f put if statement back that sets PYTHON_INSTDIR 2025-07-23 10:08:49 +01:00
chrisjonesBSU cab8831f69 Remove obsolete workaround for Ubuntu Python install path bug 2025-07-22 11:32:40 +01:00
chrisjonesBSU 5ea5e84ef8 Add back code comments accidentally removed 2025-07-09 09:46:40 +01:00
chrisjonesBSU fc70a4d8c9 remove distutils to support python 3.13 2025-07-07 15:45:27 +01:00
chrisjonesBSU a927c6a153 config and build passes with CMake 4.0 2025-07-04 22:52:59 +01:00
Nicolas PARLANT fda825d390 cmake4 compat :
* up cmake_minimum_required to 3.10
* delete CMP0042 because OLD behavior is removed in cmake-4 and
is no longer used.
* set ENABLE_EXPORTS for test_runner (OLD behavior for CMP0065 is removed
in cmake4)

Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
2025-04-21 20:07:46 +00:00
Fredrik Wallner ab782f8543 Fix pybel.draw check for writing file 2025-01-29 11:47:45 +01:00
Fredrik Wallner f8f9b2cf25 Don't require _png2 format for calculating new coords in pybel 2025-01-29 11:03:58 +01:00
Roman Shterenzon f5e5f3267e Support reactions in Ruby swig wrapper 2024-12-08 11:31:29 +02:00
Xiang Zhong 7702b2bc44 update interface pybel.py (#2509)
* update interface pybel.py & testpybel.py
2022-08-04 10:23:50 -04:00
Eisuke Kawashima b59ba6dd04 Remove std::binary_function, which is removed in C++17 (#2464)
* refactor: do not use `std::binary_function`, which is removed in C++17

fix #2461

* refactor: regenerate scripts/R/examples/openbabelR/src/openbabel-R.cpp
2022-08-03 10:01:58 -04:00
Eisuke Kawashima 305a6fd318 refactor: always use std::shared_ptr (#2501)
* refactor(cmake): remove `SHARED_POINTER` variable
* refactor: remove `HAVE_SHARED_POINTER` macro
* refactor: replace `OB_SHARED_PTR_HEADER` with `<memory>`
* refactor: replace `OB_SHARED_PTR_IMPLEMENTATION` with `std::shared_ptr`
* refactor: replace `obsharedptr` with `std::shared_ptr`
* refactor: regenerate `scripts/R/examples/openbabelR/src/openbabel-R.cpp`
* refactor: remove `include/openbabel/shared_ptr.h`
2022-07-26 22:16:44 -04:00
Eisuke Kawashima 08b488b145 regenerate scripts/R/examples/openbabelR/src/openbabel-R.cpp by SWIG 4.0.2 2022-06-25 00:33:00 +09:00
Eisuke Kawashima 67fe818429 Add .gitattributes and renormalize EOL 2022-06-10 17:24:09 +09:00
Geoff Hutchison 7485fcb6ae Merge pull request #2289 from cygwin-lem/pr_make_install_dirs_for_bindings_configurable
Make install-dir configurable for each binding
2022-06-09 18:44:57 -04:00
Geoff Hutchison 18665b94fe Merge pull request #2466 from e-kwsm/IOError
python: replace IOError with OSError
2022-06-09 18:35:15 -04:00
Geoff Hutchison 7ab11297bb Merge pull request #2468 from e-kwsm/unittest
test(python): modernize use of asserts
2022-06-09 18:31:34 -04:00
Eisuke Kawashima 0f4af753d4 test(python): improve usages of unitest.TestCase methods 2022-04-27 13:26:48 +09:00
Eisuke Kawashima 77530fb0aa python: replace IOError with OSError
https://peps.python.org/pep-3151/
2022-04-25 16:37:29 +09:00
dkoes 4ba2fec17b Resolve ImportError with make test
This change will build _openbabel.so in scripts/python/openbabel instead
of the default build/lib.  This is necessary because openbabel.py tries
to import _openbabel like this:

if __package__ or "." in __name__:
    from . import _openbabel
else:
    import _openbabel

This results in a circular import error when running make test (the
first branch of the if is triggered).  This code appears to be generated by
SWIG with no obvious way to change it to catch the ImportError and call
import _openbabel instead.  Note the PYTHONPATH is set to include
build/lib, but it doesn't matter because SWIG is forcing the import to
happen in scripts/python/openbabel.

I'm not sure why this hasn't been a problem in the past, perhaps there's
been a change in SWIG.  This is with SWIG 4.0.1 and cmake 3.18.6.

I think the best solution is to move all the files that are being built
in /scripts to the build directory rather than polluting the src tree
with them, but this would require changing all the bindings and I'm not
up for building and testing every binding.
2021-06-07 11:04:25 -04:00
Geoff Hutchison c3143e6235 Merge pull request #2243 from baoilleach/javadoc
Support Javadoc from doxygen for SWIG 4.0 Java bindings
2021-04-12 20:17:14 -04:00
Geoff Hutchison af94e4f2ed Merge pull request #2242 from baoilleach/enable_pydoc
Support Doxygen comments in SWIG Python bindings
2021-04-12 20:16:58 -04:00
Geoff Hutchison 8598a8115d Merge pull request #2283 from dkoes/issue1999
Resolve Issue #1999
2021-02-23 19:18:09 -05:00
dkoes f68dbd4a7f Fix missing atom pybel properties.
Some properties (e.g. implicitvalence) are no longer available.
Also added index as a property and a test.
2020-10-26 21:43:32 -04:00
Lemures Lemniscati 234e6f769b Make PHP_INSTDIR configurable 2020-10-20 21:21:27 +09:00