A Python wrapper around Bacting

Overview

pybacting

Tests PyPI PyPI - License PyPI - Python Version Code style: black DOI

Python wrapper around bacting.

Usage

Based on the example from the bacting page, you can do:

from pybacting import cdk

print(cdk.fromSMILES("COC"))

Or you can use some of the more pythonic functions that wrap the functions exposed through the pybacting.cdk object:

import pybacting

print(pybacting.from_smiles("COC"))

Installation

Before installing, you'll need to make sure Maven (mvn) is available on your path. If you're on mac, use brew install maven.

$ pip install pybacting

Install the latest code from GitHub:

$ pip install git+https://github.com/cthoyt/pybacting

Download and install from source in development mode:

$ git clone https://github.com/cthoyt/pybacting
$ cd pybacting
$ pip install --editable .
You might also like...
36 key ergo split keyboard, designed around the Seeeduino Xiao platform
36 key ergo split keyboard, designed around the Seeeduino Xiao platform

Slice36 Minimalist Split Keyboard 36 key ergo split keyboard, designed around the Seeeduino Xiao platform. Inspired by the Corne, Ferris, Ben Vallack'

Python wrapper to different clients to determine how a particular term is used.

Python wrapper to different clients to determine how a particular term is used.

A Python wrapper for Matrix Synapse admin API

Synapse-admin-api-python A Python wrapper for Matrix Synapse admin API. Versioning This library now supports up to Synapse 1.45.0, any Admin API intro

Xbps-install wrapper written in Python that doesn't care about case sensitiveness and package versions
Xbps-install wrapper written in Python that doesn't care about case sensitiveness and package versions

xbi Xbps-install wrapper written in Python that doesn't care about case sensitiveness and package versions. Description This Python script can be easi

🤖🧭Creates google-like navigation menu using python-telegram-bot wrapper

python telegram bot menu pagination Makes a google style pagination line for a list of items. In other words it builds a menu for navigation if you ha

An async API wrapper for Dress To Impress written in Python.

dti.py An async API wrapper for Dress To Impress written in Python. Some notes: For the time being, there are no front-facing docs for this beyond doc

A Python wrapper API for operating and working with the Neo4j Graph Data Science (GDS) library

gdsclient NOTE: This is a work in progress and many GDS features are known to be missing or not working properly. This repo hosts the sources for gdsc

An html wrapper for python

MessySoup What is it? MessySoup is a python wrapper for html elements. While still a ways away, the main goal is to be able to build a wesbite straigh

A simple wrapper for joy library
A simple wrapper for joy library

Joy CodeGround A simple wrapper for joy library to render joy sketches in browser using vs code, (or in other words, for those who are allergic to Jup

Comments
  • README instructions correct?

    README instructions correct?

    Following the README which writes:

    Download and install from source in development mode:
    
    ```shell
    $ git clone https://github.com/cthoyt/pybacting
    $ cd pybacting
    $ pip install --editable .
    

    ... I get this error:

    pybacting$ pip install --editable .
    ERROR: File "setup.py" not found. Directory cannot be installed in editable mode: /home/egonw/var/Projects/hub/pybacting
    (A "pyproject.toml" file was found, but editable mode currently requires a setup.py based build.)
    
    opened by egonw 4
  • ScyJava does not pick up the correct dependencies

    ScyJava does not pick up the correct dependencies

    Eclipse had a dependency issue which they recently fixed, removing archives from Maven Central. Bacting 0.0.40 was updated, giving the fixed dependency tree:

    [INFO] |  \- io.github.egonw.bacting:bioclipse-core:jar:2.8.0.16:compile
    [INFO] |     +- org.eclipse.platform:org.eclipse.core.runtime:jar:3.25.0:compile
    [INFO] |     |  +- org.eclipse.platform:org.eclipse.osgi:jar:3.18.0:compile (version selected from constraint [3.17.0,4.0.0))
    [INFO] |     |  +- org.eclipse.platform:org.eclipse.equinox.common:jar:3.16.100:compile (version selected from constraint [3.16.0,))
    [INFO] |     |  +- org.eclipse.platform:org.eclipse.core.jobs:jar:3.13.0:compile (version selected from constraint [3.13.0,4.0.0))
    [INFO] |     |  +- org.eclipse.platform:org.eclipse.equinox.registry:jar:3.11.100:compile (version selected from constraint [3.11.0,4.0.0))
    [INFO] |     |  +- org.eclipse.platform:org.eclipse.equinox.preferences:jar:3.10.1:compile (version selected from constraint [3.10.0,4.0.0))
    [INFO] |     |  |  \- org.osgi:org.osgi.service.prefs:jar:1.1.2:compile (version selected from constraint [1.1.0,1.2.0))
    

    Here, org.eclipse.platform:org.eclipse.equinox.preferences:jar:3.10.1 is the fixed library (see https://github.com/eclipse-equinox/equinox.bundles/issues/54), but when installing pybacting it still depends on 3.10.0:

    [Error: ] Failed to execute goal on project managers-inchi-BOOTSTRAPPER: Could not resolve dependencies for project 
    io.github.egonw.bacting-BOOTSTRAPPER:managers-inchi-BOOTSTRAPPER:jar:0: Failed to collect dependencies at 
    io.github.egonw.bacting:managers-inchi:jar:0.0.40 -> io.github.egonw.bacting:bacting-core:jar:0.0.40 -> 
    io.github.egonw.bacting:bioclipse-core:jar:2.8.0.16 -> org.eclipse.platform:org.eclipse.core.runtime:jar:3.25.0 -> 
    org.eclipse.platform:org.eclipse.equinox.preferences:jar:3.10.0 -> org.osgi.service:org.osgi.service.prefs:jar:[1.1.0,1.2.0):
    No versions available for org.osgi.service:org.osgi.service.prefs:jar:[1.1.0,1.2.0) within specified range -> [Help 1]
    

    Note how it does pick up org.eclipse.platform:org.eclipse.core.runtime:jar:3.25.0 but then is happy with the broken org.eclipse.platform:org.eclipse.equinox.preferences:jar:3.10.0 where version 3.10.1 should be used instead.

    This leaves pybacting uninstallable for now. It is yet unclear how to fix this.

    opened by egonw 1
  • Update deps

    Update deps

    Closes #4 if new JGO is installed. Some of the artifacts were POM only and were excluded (see https://github.com/scijava/scyjava/issues/30#issuecomment-892061823). For the rest, I added the managers.

    opened by cthoyt 1
  • Enable importing all bacting build artifacts

    Enable importing all bacting build artifacts

    Blocked by https://github.com/scijava/scyjava/issues/30 and transitively https://github.com/scijava/jgo/issues/31#issuecomment-548056700

    To fix this, we'll have to wait for a new release of jgo which includes the finished PR https://github.com/scijava/jgo/pull/62. Then, the issue with scyjava will magically go away. This issue can be closed with an update to pybacting's setup.cfg file to include a minimum version of jgo

    opened by cthoyt 1
Releases(v0.2.9)
Owner
Charles Tapley Hoyt
Bio/cheminformatician, open scientist, maintainer of @pybel and @pykeen, part of @indralab (he/him)
Charles Tapley Hoyt
A partial-transpiler that converts a subset of Python to the Folders esoteric programming language

Py2Folders A partial-transpiler that converts a subset of Python to the Folders esoteric programming language Folders Folders is an esoteric programmi

Daniel Johnson 1 Dec 23, 2021
Web UI for your scripts with execution management

Script-server is a Web UI for scripts. As an administrator, you add your existing scripts into Script server and other users would be ab

Iaroslav Shepilov 1.1k Jan 09, 2023
From "fixed RAnDom CRashes" to "[FIX] Fixed random crashes."

Clean Commit From fixed RAnDom CRashes to [FIX] Fixed random crashes. Clean commit helps you by auto-formating your commits to make your repos better

Mathias 3 Dec 26, 2021
Time tracking program that will format output to be easily put into Gitlab

time_tracker Time tracking program that will format output to be easily put into Gitlab. Feel free to branch and use it yourself! Getting Started Clon

Jake Strasler 2 Oct 13, 2022
Ellipitical Curve Table Generator

Ellipitical-Curve-Table-Generator This script generates a table of elliptical po

Nishaant Goswamy 1 Jan 02, 2022
py2dis - A disassembly engine & library for Python

py2dis - A disassembly engine & library for Python. py2dis is a disassembly library for Python that does not use any modules/libraries other than colo

3 Feb 04, 2022
Um pequeno painel de consulta

Spynel Um pequeno painel com consultas de: IP CEP PLACA CNPJ OBS: caso execute o script pelo termux, recomendo que use o da F-Droid por ser mais atual

Spyware 12 Oct 25, 2022
Library management using python & MySQL

Library management using python & MySQL Dev/Editor: Pavan Ananth Sharma & MK Akash Introduction: This is an intermediate project which is a user-frie

Pavan Ananth Sharma 2 Jul 05, 2022
Template for pre-commit hooks

Pre-commit hook template This repo is a template for a pre-commit hook. Try it out by running: pre-commit try-repo https://github.com/stefsmeets/pre-c

Stef Smeets 1 Dec 09, 2021
A simple chatbot that I made for school project

Chatbot: Python A simple chatbot that I made for school Project. Tho this chatbot is dumb sometimes, but it's not too bad lol. Check it Out! FAQ How t

Prashant 2 Nov 13, 2021
An example repository for how to generate results using PyBaMM

PyBaMM results This repository provides a template for generating results (for example, for a paper) using PyBaMM Installation Install PyBaMM using a

PyBaMM Team 7 Oct 09, 2022
nbsafety adds a layer of protection to computational notebooks by solving the stale dependency problem when executing cells out-of-order

nbsafety adds a layer of protection to computational notebooks by solving the stale dependency problem when executing cells out-of-order

150 Jan 07, 2023
Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day.

Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day. Platform Python Install Use pip: pip

StardustDL 4 Sep 13, 2021
Simple rofi script to choose player for playerctl to execute its command

rofi-playerctl-switcher simple rofi script to choose player for playerctl to execute its command Usage copy playerSwitch.py and playerctl.sh to ~/.con

2 Jan 03, 2022
GUI tool to manage the contents of chests in Botw

Botw chest manager is a small gui tool allowing to easily manage chests. Sometimes Ice Spear can be very time consuming when adding a simple chest. The purpose of this light tool is to add a new ches

3 Aug 25, 2022
2 Way Sync Between Notion Database and Google Calendar

Notion-and-Google-Calendar-2-Way-Sync 2 Way Sync Between a Notion Database and Google Calendar WARNING: This repo will be undergoing a good bit of cha

248 Dec 26, 2022
ClamNotif: A tool to send you ClamAV notifications

A tool to forward notifications to different recipients categorised by two severity levels of the regular health reports produced by `clamscan` bundled with the ClamAV antivirus engine.

PiSoft Company Ltd. 1 Nov 15, 2021
Liquid Rocket Engine Cooling Simulation

Liquid Rocket Engine Cooling Simulation NASA CEA The implemented class calls NASA CEA via RocketCEA. INSTALL GUIDE In progress install instructions fo

John Salib 1 Jan 30, 2022
Roman numeral conversion with python

Roman numeral conversion Discipline: Programming Languages Student: Paulo Henrique Diniz de Lima Alencar. Language: Python Description Responsible for

Paulo Alencar 1 Jul 11, 2022
Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources.

Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources. It provides the necessary user stream data and order book data for trading in a

litepresence 5 May 08, 2022