msmdev / pyGPCCA

pyGPCCA - python GPCCA: Generalized Perron Cluster Cluster Analysis package to coarse-grain reversible and non-reversible Markov state models.
https://pygpcca.readthedocs.io/en/latest/index.html
GNU Lesser General Public License v3.0
19 stars 4 forks source link

Deployment #1

Closed michalk8 closed 3 years ago

michalk8 commented 3 years ago

Before we put this on PyPI/conda-forge, here's a list of TODOs:

After this, we can put in on PyPI and afterwards, we can create a PR to conda-forge.

michalk8 commented 3 years ago

Ok, in the meantime, I will revert the bump2version commit.

michalk8 commented 3 years ago

(the CI should run faster now, since it's cached - when I modified tox.ini, new cache was created).

michalk8 commented 3 years ago

Ok, in the meantime, I will revert the bump2version commit.

Done.

msmdev commented 3 years ago

@michalk8 Even the name is __token__ now in PyPI should it still be named PYPI_PASSWORD in GitHub secrets?

michalk8 commented 3 years ago

@michalk8 Even the name is token now in PyPI should it still be named PYPI_PASSWORD in GitHub secrets?

Yes. In PyPI, token name should be __token__. The value of the token, should be saved in this repo's secrets with the name PYPI_PASSWORD.

msmdev commented 3 years ago

Ok, then it should be alright now - will push now.

msmdev commented 3 years ago

@michalk8 ok funny, now it fails because of my dummy email... you can insert a real one there: bernhard-reuter@gmx.de

michalk8 commented 3 years ago

Done, you can try again.

michalk8 commented 3 years ago

@msmdev Congratulations: https://pypi.org/project/pygpcca/1.0.0/ !

michalk8 commented 3 years ago

The markdown (\) is not properly rendered, but that can be fixed.

msmdev commented 3 years ago

@michalk8 its fine for now... Cheeers, it is deployed! I owe you a bottle of champagne or some of my self-brewed beer (yes, I am also a home brewer) :-D

michalk8 commented 3 years ago

@msmdev cheers! The home-brewed beer sounds really nice!

msmdev commented 3 years ago

@michalk8 if I would like to make some minor style fixes, like fixing the markdown (\), will this require a new version tag and everything?

michalk8 commented 3 years ago

For it to be visible on https://pypi.org/project/pygpcca/, yes.

michalk8 commented 3 years ago

I've found the recipe for conda (though it was lost):

{% set name = "pyGPCCA" %}
{% set version = "1.0.0" %}

package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
  sha256: # TODO

build:
  number: 0
  noarch: python
  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv"
  skip: True  # [py<36 and not win]

requirements:
  host:
    - pip
    - python
    - setuptools_scm
  run:
    - python
    - numpy >=1.15.0
    - scipy >=1.5.0
    - docrep >=0.3.1
    - mpi4py >=3.0.3
    - petsc >=3.13.0,!=3.14.0
    - slepc >=3.13.0
    - petsc4py >=3.13.0,!=3.14.0
    - slepc4py >=3.13.0

test:
  imports:
    - pygpcca
  commands:
    - pytest -vv
  requires:
    - pytest
    - pytest-mock

about:
  home: https://github.com/msmdev/pygpcca
  license: LGPL-3.0-or-later
  license_family: LGPL
  license_file: LICENSE.txt
  summary: 'Generalized Perron Cluster Cluster Analysis'
  description: |
    # TODO
  doc_url: https://pygpcca.readthedocs.io/en/latest
  dev_url: https://github.com/msmdev/pygpcca

extra:
  recipe-maintainers:
    - msmdev

Could you please fill-in the description? Once the description is done, I will get the sha256 from PyPI and we can open a PR at conda-forge. I will have to double check if the skip condition is right (think we don't need the not win [Windows]).

msmdev commented 3 years ago

@michalk8 cool - I will fill in the description tomorrow :)

msmdev commented 3 years ago

The markdown () is not properly rendered, but that can be fixed.

Couldn't find out how to get it right -.-

Marius1311 commented 3 years ago

Amazing guys, well done, and thank you so much for both of your combined efforts! Could we add @michalk8 and my name somewhere on the Pypi page, either under "Acknowledgements" or in the Maintainers section? We both have pypi accounts, mine is https://pypi.org/user/marius1311/ and Mike's is https://pypi.org/user/michalk8/

msmdev commented 3 years ago

Amazing guys, well done, and thank you so much for both of your combined efforts! Could we add @michalk8 and my name somewhere on the Pypi page, either under "Acknowledgements" or in the Maintainers section? We both have pypi accounts, mine is https://pypi.org/user/marius1311/ and Mike's is https://pypi.org/user/michalk8/

@Marius1311 @michalk8 I added a key contributors section in the README.rst. This will be reflected on PyPI after the next release.

msmdev commented 3 years ago

The markdown () is not properly rendered, but that can be fixed.

Couldn't find out how to get it right -.-

@michalk8 any ideas how to get the markdown right on pypi? Simply \n?

Marius1311 commented 3 years ago

Amazing guys, well done, and thank you so much for both of your combined efforts! Could we add @michalk8 and my name somewhere on the Pypi page, either under "Acknowledgements" or in the Maintainers section? We both have pypi accounts, mine is https://pypi.org/user/marius1311/ and Mike's is https://pypi.org/user/michalk8/

@Marius1311 @michalk8 I added a key contributors section in the README.rst. This will be reflected on PyPI after the next release.

wonderful, thanks!

Marius1311 commented 3 years ago

Small point: I would add a link to the readthedocs to the 'about' section on github - people will be looking for this first.

msmdev commented 3 years ago

Small point: I would add a link to the readthedocs to the 'about' section on github - people will be looking for this first.

@Marius1311 good point - thx!

michalk8 commented 3 years ago

@michalk8 any ideas how to get the markdown right on pypi? Simply \n?

I think it would be <br/>, but I would just change here the .replace('|br|', '\\') into .replace('|br|', '\n').

msmdev commented 3 years ago

I've found the recipe for conda (though it was lost):

{% set name = "pyGPCCA" %}
{% set version = "1.0.0" %}

package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
  sha256: # TODO

build:
  number: 0
  noarch: python
  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv"
  skip: True  # [py<36 and not win]

requirements:
  host:
    - pip
    - python
    - setuptools_scm
  run:
    - python
    - numpy >=1.15.0
    - scipy >=1.5.0
    - docrep >=0.3.1
    - mpi4py >=3.0.3
    - petsc >=3.13.0,!=3.14.0
    - slepc >=3.13.0
    - petsc4py >=3.13.0,!=3.14.0
    - slepc4py >=3.13.0

test:
  imports:
    - pygpcca
  commands:
    - pytest -vv
  requires:
    - pytest
    - pytest-mock

about:
  home: https://github.com/msmdev/pygpcca
  license: LGPL-3.0-or-later
  license_family: LGPL
  license_file: LICENSE.txt
  summary: 'Generalized Perron Cluster Cluster Analysis'
  description: |
    # TODO
  doc_url: https://pygpcca.readthedocs.io/en/latest
  dev_url: https://github.com/msmdev/pygpcca

extra:
  recipe-maintainers:
    - msmdev

Could you please fill-in the description? Once the description is done, I will get the sha256 from PyPI and we can open a PR at conda-forge. I will have to double check if the skip condition is right (think we don't need the not win [Windows]).

@michalk8 how about using the description section of the readme as description:

'Generalized Perron Cluster Cluster Analysis program to coarse-grain reversible and non-reversible Markov State Models. Markov State Models (MSM) enable the identification and analysis of metastable states and related kinetics in a very instructive manner. They are widely used, e.g. to model molecular or cellular kinetics. Common state-of-the-art Markov state modeling methods and tools are very well suited to model reversible processes in closed equilibrium systems. However, most are not well suited to deal with non-reversible or even non-autonomous processes of non-equilibrium systems. To overcome this limitation, the Generalized Robust Perron Cluster Cluster Analysis (G-PCCA) was developed. The G-PCCA method implemented in the pyGPCCA program readily handles equilibrium as well as non-equilibrium data by utilizing real Schur vectors instead of eigenvectors. pyGPCCA enables the semiautomatic coarse-graining of transition matrices representing the dynamics of the system under study. Utilizing pyGPCCA, metastable states as well as cyclic kinetics can be identified and modeled. If you use pyGPCCA or parts of it, please cite Reuter 2018 (https://doi.org/10.1021/acs.jctc.8b00079).'

Or is this too long?

msmdev commented 3 years ago

@michalk8 any ideas how to get the markdown right on pypi? Simply \n?

I think it would be <br/>, but I would just change here the .replace('|br|', '\\') into .replace('|br|', '\n').

Alright! Thx @michalk8.

msmdev commented 3 years ago

@michalk8 any ideas how to get the markdown right on pypi? Simply \n?

I think it would be <br/>, but I would just change here the .replace('|br|', '\\') into .replace('|br|', '\n').

Alright! Thx @michalk8.

@michalk8 actually it is currently .replace("|br|", r"\\") so .replace("|br|", r"\n")?

michalk8 commented 3 years ago

Or is this too long?

I would keep it short, this is what we have in CellRank - many packages don't have any description (i.e. numpy/tensorflow...). Maybe just keep the first paragraph.

.replace("|br|", r"\n")?

It should be .replace('|br|', '\n'), without the raw strings.

msmdev commented 3 years ago

Ok, will think about something short.

msmdev commented 3 years ago

'pyGPCCA employs Generalized Perron Cluster Cluster Analysis (G-PCCA) to coarse-grain reversible and in particular non-reversible Markov State Models. If you use pyGPCCA or parts of it, please cite Reuter et al. 2018 (https://doi.org/10.1021/acs.jctc.8b00079).'

michalk8 commented 3 years ago

Sounds good, will make a PR to conda-later today and ping you in the related thread.

msmdev commented 3 years ago

@michalk8 guess I will make a new release tag now, since the markdown should be fixed now and deploy it to pypi.

michalk8 commented 3 years ago

Sounds good, that way we use to correct hash for conda.

msmdev commented 3 years ago

@michalk8 v1.0.1 is deployed :)

Marius1311 commented 3 years ago

Thanks for including the contributions @msmdev, it looks very nice!

msmdev commented 3 years ago

Since it the package is successfully deployed on pypi and conda-forge, I'm closing this now. :) Thx, again to @Marius1311 and especially to @michalk8!

Marius1311 commented 3 years ago

Amazing work @msmdev and @michalk8 !