Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publishing to conda #369

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/workflows/publish-conda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Publish Python 🐍 distributions 📦 to Conda

on:
push:
tags:
- '*'
workflow_dispatch:


jobs:
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to Conda
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v3

- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true

- name: Build Conda Packages
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitely declared as shell:
# bash -l {0} on steps that need to be properly activated
shell: bash -l {0}
env:
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
run: |
conda install conda-build anaconda-client conda-verify
conda config --set anaconda_upload yes
cd conda
conda build -c conda-forge -c pytorch -c dglteam -c districtdatalabs --token "$ANACONDA_TOKEN" .
2 changes: 2 additions & 0 deletions bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"%PYTHON%" setup.py install
if errorlevel 1 exit 1
1 change: 1 addition & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python setup.py install
83 changes: 83 additions & 0 deletions conda/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package:
name: graphistry
version: {{ GIT_DESCRIBE_TAG }}

source:
git_rev: {{ GIT_DESCRIBE_TAG }}
git_url: https://github.com/graphistry/pygraphistry

requirements:
host:
- python
- setuptools
run:
- graphistry.graphistry-core
- graphistry.graphistry-umap
- graphistry.graphistry-ai

test:
requires:
- flake8
- mock
- mypy
- pytest
- pandas-stubs
- types-requests

outputs:
- name: graphistry.graphistry-core
requirements:
Copy link
Contributor

@lmeyerov lmeyerov Jul 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there anything like outputs.*.description where they can point to the main conda package for instructions?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can put instructions in the main description and it will be used for all outputs

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can check here to see how the description looks like right now

- packaging>=20.1
- typing-extensions
- numpy
- pandas>=0.17.0
- protobuf>=2.6.0
- pyarrow>=0.15.0
- requests
description: test desc
- name: graphistry.graphistry-umap
requirements:
- umap-learn
- dirty_cat==0.2.0
- scikit-learn>=1.0
- name: graphistry.graphistry-ai
requirements:
- scikit-learn>=1.0
- scipy
- umap-learn
- dirty_cat==0.2.0
- dgl
- pytorch
- sentence-transformers


about:
home: https://www.graphistry.com/
license: BSD3
license_file: ../LICENSE.txt
summary: Graphistry Visual Graph Analytics library for Python
description: |
Graphistry is a visual graph analytics library for extracting, transforming,
displaying, and sharing big graphs with end-to-end GPU acceleration.

You can install the whole package via:

`conda install -c pygraphistry_dev graphistry`

Just the core package via:

`conda install -c pygraphistry_dev graphistry.graphistry-core`

Or other parts of the package via:

`conda install -c pygraphistry_dev graphistry.graphistry-ai`

`conda install -c pygraphistry_dev graphistry.graphistry-umap`
doc_url: https://hub.graphistry.com/docs
dev_url: https://github.com/graphistry/pygraphistry

extra:
author: The Graphistry Team
author_email: [email protected]