Public Repository

    Introduction

    Chemaxon provides a public repository at https://hub.chemaxon.com/ for our products and modules. It is designed for integrators and resellers but is available for any registered Chemaxon user as well. How to acquire the required credentials in order to use this repository are described below.

    NOTE: The web user interface is currently not available for customers due to technical reasons. Please use CLI access.

    Create your Chemaxon Account

    If you do not already have a Chemaxon Account, you may create it via filling the form at the https://accounts.chemaxon.com/register page. Your e-mail address will serve as the username when setting up the repository.

    Generate your API key

    To generate your API key visit the download page of the product you would like to obtain at https://chemaxon.com/products. Under the additional tabs of various download options - such as 'DEB', 'RPM', 'JAR' or 'Gradle' - you will find a button to 'Setup my API Key’. In case your API key has been already generated you will find it among the instructions of 'Set up the repository'.

    Configure your project

    Debian

    First, download the public GPG key:

    wget -O - --user=<USER-NAME> --password=<API-KEY> \
      https://hub.chemaxon.com/artifactory/api/gpg/key/public | apt-key add -;

    {warning} The specified user name should be the full Chemaxon account email address, e.g. john.smith@mycoolcompany.com .

    To use the Artifactory repository to install a Debian package you need to add it to your sources.list file. You can do that using the following command:

    sudo echo 'deb https://<E-MAIL>:<API-KEY>@hub.chemaxon.com/artifactory/cxn-deb-release-local all main' >> /etc/apt/sources.list

    Using the apt command will install the package:

    sudo apt install <PACKAGE>

    Search for other packages:

    apt search chemaxon

    Red Hat

    First, you need to add the Artifactory repository to your YUM repositories. Edit the following file with your editor of choice:

    sudo vim /etc/yum.repos.d/artifactory.repo

    And insert the following to the file:

    [Artifactory]
    name=Chemaxon Artifactory
    baseurl=https://<E-MAIL>:<API-KEY>@hub.chemaxon.com/artifactory/cxn-rpm-release-local
    enabled=1
    gpgcheck=0
    #Optional - if you have GPG signing keys installed, use the below flags to verify the repository metadata signature:
    gpgkey=https://<E-MAIL>:<API-KEY>@hub.chemaxon.com/artifactory/api/gpg/key/public
    repo_gpgcheck=1

    Install your package with the command:

    sudo yum install <PACKAGE>

    Search for other packages:

    yum search chemaxon

    Docker

    First, you need to login to the repository:

    echo <API-KEY> | docker login -u <E-MAIL> --password-stdin hub.chemaxon.com

    Alternatively, you can paste the following into the ~/.docker/config.json file (in Windows %USERPROFILE%/.docker/config.json):

    {
      "auths": {
        "hub.chemaxon.com": {
          "auth": <BASE64(<E-MAIL>:<API-KEY>)>
        }
      }
    }

    After that, you can pull the images:

    docker pull hub.chemaxon.com/<IMAGE>:<TAG>

    Browse Docker Tags

    Though Docker itself doesn't have a convenient way to browse image tags, there are workarounds like Node Package Manager (8.0+).

    npx docker-browse tags <IMAGE> -r hub.chemaxon.com

    NPM

    First, you need to store your credentials and repository in your .npmrc file:

    curl -o ~/.npmrc -u<E-MAIL>:<API-KEY> \
      https://hub.chemaxon.com/artifactory/api/npm/auth

    For your npm command line client to work with Artifactory, you first need to set the default npm registry with an Artifactory npm repository using the following command:

    npm config set registry \
      https://hub.chemaxon.com/artifactory/api/npm/npm/

    Alternatively, you can paste the following into the ~/.npmrc file (in Windows %USERPROFILE%/.npmrc):

    _auth=<BASE64(<E-MAIL>:<API-KEY>)>
    always-auth=true
    email=<E-MAIL>
    registry=https://hub.chemaxon.com/artifactory/api/npm/npm/

    To install the packages run:

    npm install <PACKAGE>

    Gradle

    If you would like to use Gradle as your build tool, you can follow these instructions to access Chemaxon's Maven repository. Or you can use the quickstart project as an example.

    In your Gradle project, create (or edit if already exists) a gradle.properties file and add these contents. You can also move this file outside your project, into <user home>/.gradle directory.

    chemaxonRepositoryUser=<E-MAIL>
    chemaxonRepositoryPassword=<API-KEY>
    chemaxonRepositoryUrl=https://hub.chemaxon.com/artifactory

    In the build.gradle file, add our Maven repository in the repositories block. For example:

    repositories {
        maven {
            url "${chemaxonRepositoryUrl}/libs-release"
            credentials {
                username = chemaxonRepositoryUser
                password = chemaxonRepositoryPassword
            }
        }
    }

    After applying these settings, you can add Chemaxon modules as dependencies.

    If you had a problem with resolving the ojdbc8 Oracle JDBC driver but you do not want to use Oracle then omitting the driver solves the problem. To omit ojdbc8 add this setting to the build.gradle file:

    configurations.all {
        exclude group: 'com.oracle.jdbc', module: 'ojdbc8'
    }

    Quickstart Projects

    Gradle

    A simple, self-contained quickstart project example using Gradle:

    MSketchGradleQuickstart.zip

    Maven

    A simple, self-contained quickstart project example using Apache Maven:

    MSketchMavenQuickstart.zip

    Top Level Modules

    To integrate a product, you only need to add its top-level module as a dependency, all required modules will be downloaded transitively (with the exception of the module naming which also needs to be added separately).

    Product Top-level module name in the repository
    Marvin marvin-app
    JChem jchem-main

    Example Projects

    JKlustor Web Example

    An open-source API usage example for JKlustor, which uses Chemaxon's Maven Repository. It is available on GitHub: https://github.com/Chemaxon/jklustor-web-example/