https://github.com/ale94mleon/streamjsme

Streamlit component that use JSME to draw 2D molecules and use them on your Streamlit app

https://github.com/ale94mleon/streamjsme

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

streamlit-component
Last synced: 11 months ago · JSON representation

Repository

Streamlit component that use JSME to draw 2D molecules and use them on your Streamlit app

Basic Info
Statistics
  • Stars: 5
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 2
Topics
streamlit-component
Created over 3 years ago · Last pushed 12 months ago
Metadata Files
Readme License Code of conduct

README.rst

StreamJSME
==========

This package is intended to be used as a Molecule Draw component on `Streamlit `_ applications. It uses `jsme-react `_.

.. list-table::
    :widths: 12 35

    * - **Build**
      - |pypi-version|
    * - **Source Code**
      - |github|
    * - **Python Versions**
      - |pyversions|
    * - **Dependencies**
      - |streamlit| |JSME|
    * - **License**
      - |license|
    * - **Downloads**
      - |downloads|

Installation
------------

.. code-block:: bash

    pip install StreamJSME

Use
------------

.. code-block:: python

    from StreamJSME import StreamJSME
    from rdkit import Chem
    from rdkit.Chem import Descriptors
    from rdkit.Chem import Draw
    from io import BytesIO
    import streamlit as st
    st.title('✍️ molecules with JSME in Streamlit 🤩')
    # Create a first plot with an input SMILES, by default smiles = 'C'
    update_smiles = StreamJSME(smiles='CCC')

    st.subheader('Using the draw molecule inside RDKit')
    st.write(f"New SMILES = {update_smiles}")
    mol = Chem.MolFromSmiles(update_smiles)
    st.write(f"MolLogP = {Descriptors.MolLogP(mol)}\n\nTPSA = {Descriptors.TPSA(mol)}")

    st.subheader('Getting the RDKit image')
    img = Draw.MolToImage(mol)
    bio = BytesIO()
    img.save(bio, format='png')
    st.image(img)

If trying to run the Streamlit application you get ``OSError: [Errno 28] inotify watch limit reached``,
just use the flag ``--server.fileWatcherType none``:

.. code-block:: bash

    streamlit run app.py --server.fileWatcherType none

Issues
------

If you have found a bug, please open an issue on the `GitHub Issues `_.

Discussion
----------

If you have questions on how to use **StreamJSME**, or if you want to give feedback or share ideas and new features, please head to the `GitHub Discussions `_.

Acknowledgment
--------------
See the full list of contributors in the `CONTRIBUTORS.md <./CONTRIBUTORS.md>`_ file.


..  |pypi-version|  image:: https://img.shields.io/pypi/v/streamjsme.svg
    :target: https://pypi.python.org/pypi/streamjsme/
    :alt: pypi-version
..  |github|    image:: https://badgen.net/badge/icon/github?icon=github&label
    :target: https://github.com/ale94mleon/streamjsme
    :alt: GitHub-Repo
..  |pyversions|    image:: https://img.shields.io/pypi/pyversions/streamjsme.svg
    :target: https://pypi.python.org/pypi/streamjsme/
..  |streamlit| image:: https://img.shields.io/static/v1?label=Powered%20by&message=Streamlit&color=DC3C19&style=flat
    :target: https://streamlit.io/
    :alt: Streamlit
..  |jsme| image:: https://img.shields.io/static/v1?label=Powered%20by&message=JSME&color=9438ff&style=flat
    :target: https://jsme-editor.github.io/
    :alt: JSME
..  |license| image:: https://badgen.net/pypi/license/streamjsme/
    :target: https://pypi.python.org/pypi/streamjsme/
    :alt: license
..  |downloads| image:: https://static.pepy.tech/personalized-badge/streamjsme?period=month&units=international_system&left_color=grey&right_color=brightgreen&left_text=Downloads
    :target: https://pepy.tech/project/streamjsme
    :alt: download

Owner

  • Name: Alejandro Martínez-León
  • Login: ale94mleon
  • Kind: user
  • Location: Germany
  • Company: Universität des Saarlandes

GitHub Events

Total
  • Issues event: 1
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 1
  • Push event: 7
  • Pull request event: 5
  • Fork event: 1
  • Create event: 3
Last Year
  • Issues event: 1
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 1
  • Push event: 7
  • Pull request event: 5
  • Fork event: 1
  • Create event: 3

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 21
  • Total Committers: 2
  • Avg Commits per committer: 10.5
  • Development Distribution Score (DDS): 0.048
Past Year
  • Commits: 21
  • Committers: 2
  • Avg Commits per committer: 10.5
  • Development Distribution Score (DDS): 0.048
Top Committers
Name Email Commits
ale94mleon a****n@g****m 20
Alejandro Martínez-León 7****n 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 1
  • Total pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 1
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
  • ale94mleon (1)
Pull Request Authors
  • dependabot[bot] (5)
Top Labels
Issue Labels
Pull Request Labels
dependencies (5)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 97 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
pypi.org: streamjsme

StreamJSME is a Streamlit component that use JSME to draw 2D molecules and use them on your Streamlit app

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 97 Last month
Rankings
Dependent packages count: 6.6%
Downloads: 19.1%
Average: 25.2%
Forks count: 30.5%
Dependent repos count: 30.6%
Stargazers count: 39.1%
Maintainers (1)
Last synced: 11 months ago

Dependencies

streamlit_test/requirements.txt pypi
  • StreamJSME * test
  • rdkit * test
  • streamlit * test
.github/workflows/pypi-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v2 composite
frontend/package-lock.json npm
  • 124 dependencies
frontend/package.json npm
  • @types/node ^22.14.1 development
  • @types/react ^18.3.20 development
  • @types/react-dom ^18.3.6 development
  • @vitejs/plugin-react-swc ^3.9.0 development
  • typescript ^5.8.3 development
  • vite ^6.2.6 development
  • @loschmidt/jsme-react ^1.0.2
  • react ^18.3.1
  • react-dom ^18.3.1
  • streamlit-component-lib ^2.0.0
pyproject.toml pypi
  • streamlit >= 0.63