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

Add doc status shield/link #522

Merged
merged 7 commits into from
Nov 16, 2020
Merged

Add doc status shield/link #522

merged 7 commits into from
Nov 16, 2020

Conversation

bdpedigo
Copy link
Collaborator

@bdpedigo bdpedigo commented Oct 8, 2020

Reference Issues/PRs

Fixes #521

What does this implement/fix? Explain your changes.

Adds a badge to the readme, also links to docs

@netlify
Copy link

netlify bot commented Oct 8, 2020

Deploy preview for graspy ready!

Built with commit e165ded

https://deploy-preview-522--graspy.netlify.app

@daxpryce
Copy link
Contributor

daxpryce commented Oct 8, 2020

@bdpedigo Can you try to set this up for the RTD docs instead? Doing it will 1: point to the new right place, and 2: let us verify that it is going to fire off RTD builds for our documentation on PR updates as well :) https://graspologic.readthedocs.io/en/latest/. It's a great opportunity for us to verify this stuff!

@bdpedigo
Copy link
Collaborator Author

@bdpedigo Can you try to set this up for the RTD docs instead? Doing it will 1: point to the new right place, and 2: let us verify that it is going to fire off RTD builds for our documentation on PR updates as well :) https://graspologic.readthedocs.io/en/latest/. It's a great opportunity for us to verify this stuff!

Done (methinks)

@bdpedigo bdpedigo added this to Needs any review in PRs Oct 26, 2020
@bdpedigo bdpedigo moved this from Ready for Review to Needs MSR Review in PRs Oct 27, 2020
@bdpedigo
Copy link
Collaborator Author

bdpedigo commented Nov 3, 2020

should we 1. update documentation hosting officially to RTD and 2. set up PR doc building if it isn't on already prior to merging this?

just thinking maybe it'll be confusing if our badge sends people one place and PRs/readme send people other places

@bdpedigo bdpedigo moved this from Needs MSR Review to Ready for Review in PRs Nov 16, 2020
@bdpedigo bdpedigo moved this from Ready for Review to Ready For Merge in PRs Nov 16, 2020
@bdpedigo bdpedigo merged commit dc1226c into dev Nov 16, 2020
PRs automation moved this from Ready For Merge to Done Nov 16, 2020
@bdpedigo bdpedigo deleted the doc-badge branch November 16, 2020 22:12
tliu68 added a commit that referenced this pull request Dec 14, 2020
* Latent distribution test size (#366)

* first attempt at introducing the size fix

* blacked files

* hsic now uses kernels and other tests use distances

* wrote a test for latent distribution test with different graph sizes

* added tests to check correct and incorrect kernels

* rephrasing

* workers improvements and a couple small fixes

* blacked latent distribution test

* correction variances aren't pooled; removed print in tests

* size correction error misprint fixed

* included a test of different orders under alternative, simplified smapling ase

* allowed directed inputs, removed print statements

* size changed to order

* directed and undirected input error + test

* forgot to black

* error wording

* remove remnants of directed graph blocking

* wording changes

* minor typos

* number of workers check adjusted appropriately

* reverted size_correction; iterated hyppo version

* workers allowed to be set to 0

* small typo

* pooled made available for practitioners; couple changes in the docstring

* forgot to change size_correction to pooled

* pooled wasn't an actual argument

* was using wrong graphs in tests

Co-authored-by: bdpedigo <benjamindpedigo@gmail.com>

* v0.3 (#379)

* add changelog

* increment version

* Update news.rst

Co-authored-by: Jaewon Chung <jaewonc78@gmail.com>

* clear notebook output for inference tutorials (#381)

* clear notebook output

* fixed a bug in the inference notebooks (p-value)

* decreased the number of iterations in the ldt tutorial

* reduce inference tutorial size/bootstraps

* Revert "decreased the number of iterations in the ldt tutorial"

This reverts commit a18aa87.

* fixed the p-value bug in the ldt tutorial again

* the latent distribution tutorial says correct things now

* ldt tutorial graphs are made smaller

Co-authored-by: Anton Alyakin <alyakin314@gmail.com>

* Set maximum MPL version, reduce LDT tutorial runtime (#402)

* Set maximum mpl version

* try decreasing number of bootstraps

* Documentation fixes (#408)

* Run black

* Fix typo in reference [skip travis]

* Try updated requirements [skip travis]

* Use 3.7 instead of 3.6

* Enable passing of embeddings to LatentDistributionTest (#411)

* added an option to pass an embedding instead of a full graph to nonpar

* incorporated Ben's suggestion regarding the input_graph argument

* added an option to pass an embedding instead of a full graph to nonpar

* blacked latent distribution test

* added checks for bad types in ldt input graph=False

* rmv pass graph in fit

* minor doc changes

* removed check array from latent distribution test alltogether

* comment change

* return of the check_array

* minor error updates

Co-authored-by: Anton Alyakin <alyakin314@gmail.com>

* Tutorial fixes (#416)

* tutorial changes

* add tutorials that had issues

* possible fix for netlify build fail

* GraphMatch inherits from BaseEstimator (#420)

* Add diag_aug option to MASE and OMNI (#404)

* Add diag_aug

* Update diag_aug tests for different input types

* Refactor and minor changes

* Fix return

* Added subgraph to docs, added tutorial notebook (Addresses #305) (#322)

* Update __init__.py

* Create __init__.py

* Create sg.py

* Create test_sg.py

* Update formatting

* Update formatting

* Update formatting

* Delete redundant tests. Fix function calls

* Update __init__.py

* Create __init__.py

* Create sg.py

* Delete __init__.py

* Delete sg.py

* Update test_sg.py

* Reformat sg.py

* Reformat test_sg.py

* Update sg.py

* Update sg.py

* Update test_sg.py

* Update sg.py

* Update test_sg.py

* Add Subgraphing to docs

* Begin subgraph tutorial doc

* Update to include subgraph

* Update subgraph.ipynb

* Update subgraph.ipynb

* Added subgraph

* Added coherent scheme

* Updating versions

* Resolving conflicts with base

* Resolving more conflicts with base

* Resolving more conflicts with base

* Added subgraph to docs

* Correct formatting

* Cleared outputs

* use newer fig options

Co-authored-by: gk <gkang@jh.edu>
Co-authored-by: Jaewon Chung <jaewonc78@gmail.com>

* Update requirements to scipy >= 1.4. (#428)

Updated files requirements.txt and setup.py.

* Remove ari return from fit_predict and predict in base.py (#438)

* Bulk License and Compliance (#463)

* Copyright headers and license information added to the top of every python file.

LICENSE.txt added with MIT license and LICENSE file with APLv2 license removed.  Note: this means we are changing the licensing from Apache License to MIT License.
We have received agreement from all contributors to this change.

Updated CONTRIBUTING.md file with new information, though I suspect it will break the sphinx docs page being generated now. Going to coordinate fixing that in a different way
with @bdpedigo, but specifically trying to make sure we take advantage of the Github flavored markdown as much as possible.

README.md still needs more work.

* Update CONTRIBUTING.md

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Update CONTRIBUTING.md

Co-authored-by: Jaewon Chung <jaewonc78@gmail.com>

* Adding a period, but mostly trying to trigger another build

Co-authored-by: Dwayne Pryce <dwpryce@microsoft.com>
Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>
Co-authored-by: Jaewon Chung <jaewonc78@gmail.com>

* Suitably dynamic versioning (#467)

* Suitably dynamic versioning

The following versioning code bypasses a few problems with python module versions.  The following scenarios are plausible:
- A user clones `graspologic` and runs `pip install -r requirements.txt` then executes `python` in the project directory, accessing the graspologic library by python's local folder structure.
- A users clones `graspologic` and runs `python setup.py install` in the environment of their choice, accessing the graspologic library either by the local folder structure or the .egg in their site-packages, depending on their current working directory.
- A user clones no repository and wants to install the library solely via `pip` via the `pip install ...` command, which has 2 wings to consider:
  - The user wishes to try out the latest prerelease, which is going to be published with a X.Y.ZdevYYYYMMDDBUILDNUMBER style version and can be installed via `pip install graspologic --pre`
  - The user wishes to try out the latest release, which will be published as `X.Y.Z`.

This PR supports those 4 cases (notably, it does not support `pip install .` from the root project directory, which does some super weird stuff and I gave up on trying to solve it a long time ago)

The concept is this: the actual version upon a **build action**, which can be undertaken by:
- CI building a snapshot build
- CI building a release build
- Local user building a local build

These states all require the same thing: a materialized version in a file.  This version should be created at the time of this build action.

In the case of CI, we can populate the file in our CI build process and move on.  It's the case of not being in CI where we need to consider what to do next, which leaves Local user building a local build (and local user using the filesystem as the library).

In these cases, the solution is the following: if we have a populated version.txt file, we use it. If we do not, we materialize a new version based on the `__semver` in version.py and the current time in YYYYMMDDHHmmSS format. This means that if you are running on the filesystem, and you say `import graspy; print(graspy.__version__);`, it will actually tell you the version is `0.1.0dev20200926120000` as an example.  However, when you close the interpreter and do it again, it will tell you that the version is `0.1.0dev20200926120500` - because it will create a version for you at the time of import.

However, if you were to run `python setup.py install`, the setup.py file actually takes it on itself to either get a version number or use the materialized version described above, then to write it to version.txt.  Which means that installing the graspologic library from setuptools will actually lock in the version number in perpetuity.

Gotchas
- version.txt must always be empty in the source tree
- `pip install .` does some weird thing where it registers an entry in site-packages that is like a symlink to the local filesystem anyway so it doesn't actually make an egg which means you get a new version each time and I gave up caring at this point since we got the three primary use cases: developers, users of pre-releases, and users of releases all covered. Users who install by cloning and running pip install are just going to get a weird behavior that probably isn't that important to track down, and regardless they'll get a clear `X.Y.Zdev<timestamp>` in their `graspologic.__version__` which is enough for us to go on if there are any issues raised.

* My testing resulted in filling this file and committing it, like I said not to do

* Updated conf.py for sphinx to be able to find a version it likes.  Or kinda likes.  Maybe likes?

* Forgot I had to add the recursive-include for the version file.

* Making black happy

* Add note about merger to README (#469)

* Fixes Documentation Build Warnings #291 (#426)

* Fixed Documentation Warnings

* Replaced tabs with 4 spaces to follow formatting guidelines

* Blackened the Repo

* Cleared Jupyter Notebook

* Removed unneccessary \'s

* Wrapped p_value_1_ and p_value_2_ in ``; removed \'s

* Added Release Files to the TOC tree

* Reverting to python 3.7.0

* Fixed formatting

* Blackened Repo

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Consolidated our dependencies (#470)

* Consolidated our requirements into a single file, setup.py.  Also updated it to include a new extra requires target that includes all of our build tools; black, pytest, pytest-cov, mypy, and sphinx-rtd-theme.

* PR Feedback: Removed unused variable assignation, and also limited matplotlib to <=3.3.0 as was also done in @loftusa's #421

* Pulled in the requirements necessary for the sphinx documentation as well.  Need to take a greater look at the docs folder setup next, but I'll do that in build-devops instead

* Missed a comma in the dependencies list

* Fix the title (#475)

* Draft PR: Build Pipeline (#471)

* Initial commit of a build, enough to prep the Azure DevOps (ADO) Pipeline

* Left a dangling dependsOn in there from the copy/paste

* PyTest isn't in the requirements file either.  Harumph.

* For some reason the coverage check isn't working, but it works for me locally with the same command

* First, we'll get test coverage to work.  Then, we'll figure out what the hell pytest is talking about in our OS/Python matrix

* Ah, I see now - coverage is always being run any time you run tests, which doesn't work since we're doing them in different build steps

* Adding component governance over all of our dependencies

* After updating our setup.py to include an extra requirements target for developers, I updated the build actions to make use of that in all cases where most of our dependencies were necessary

* Now we're going to try building with sphinx and failing the documentation.  It's important to note that this is just going to balk if our documentation can't be built due to some sort of sphinx build failures. It isn't going to check for it being visually correct

* Maybe script blocks need a display name?

* Ah, it wasn't tabbed in enough. Of course that was it.

* There's a special place in the netherworld for people who build ANYTHING using whitespace for blocks. This place is not pleasant.

* I'm dumb.

* Running sphinx build without actually failing the build.  Apparently we have warnings we need to fix in our docs.

* Okay, new approach - most (and the most important) build actions go through github actions.  These are things that are 100% visible to everyone.  The stuff we need to do for Microsoft, we put in devops.  And so that is that.

* Removing travis yaml - WE'RE ALMOST READY FOR YOU TO FOREVER SLEEP, MASTER TRAVIS

* If I did a shot for every time I had to commit something just to make CI happy I'd be dead by now

* Like I said.

* @j1c pointed out that if we don't pytest graspy too the doctests won't run

* New job descriptors (previous was just 'install dependencies' for every job which was not helpful)

* Update .github/workflows/build.yml

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Changing some more of the labels and also clearly noting which ones are currently optional steps

* Using square angle brackets may be problematic in yaml

* Maybe this will get the output I'm looking for

* This should be ready for a test.  I explicitly disabled the actual twine upload as we are not ready to actually publish, but we do want to validate our build process in all cases, including a merge to main

* Perhaps whitespace is not allowed in expression syntax?

* Okay, maybe it's double quotes you're afraid of.  I can understand why, it's hard to win in a 2 on 1 battle.

* It looks like we have a fix for Sphinx documentation generation, so I am no longer going to assert that the documentation validation step is broken.

* Trying to make sure we have pandoc installed.  We need to decide if we want to keep that or what.

* This time with sudo

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Sounds like the refs name will be a full path (#476)

I'm merging this because I can only test on merge to dev.

* I'm not sure which is failing, and I'm also not convinced we need the 'is pull request merged' check, since we'd want to publish if there is ANY push to main/dev

* Adding `pull_request_target` to the list of events that should fire off

* Remove * imports in simulations (#431)

* remove * imports in simulations

* only change for rdpg_corr

* Remove all *

* Run black

* add symmetrize, cartprod imports

* Get netlify working

* Revert to original

* inconsequential change

* revert

* change 2

* revert

* accept change

* typo

Co-authored-by: Kareef Ullah <kareefullah@macbook-pro.myfiosgateway.com>
Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Fixes Add `n_iter_` attribute after fit to GraphMatch #342 (#432)

* added n_iter_ return parameter to fit

* updated documentation

* updated docs so the autodoc generator updates

* updated documentation to include more detail about n_iter_ attribute

* inconsequential commit

* spelling correction

* Update graspy/match/gmp.py

Co-authored-by: Ali Saad-Eldin <54996865+asaadeldin11@users.noreply.github.com>

* Update graspy/match/gmp.py

Co-authored-by: Daniel Borders <danielborders@MacBook-Pro-2.local>
Co-authored-by: Ali Saad-Eldin <54996865+asaadeldin11@users.noreply.github.com>
Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Adds the Option to Concatenate Embeddings of Directed Graphs (#433)

* add option to concatenate directed embeddings

* add concat parameter to mase implimentation of fit_transform

* add concat param to init instead of fit_transform

* fix minor docs formatting

* black autformatting

* add directed embedding tests to test_pectral_embed.py

* refactor test_mase to use fit_transform w/ concat instead of np.hstack

* add directed embedding test to test_omni.py

* fix docs formatting

* add type check for concat param

* fix rebase artifact

* autoformat

* add type check test

* autoformat

* minor style fixes

* fix caps

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Add a link for the descriptions of `palette` (#427)

* Add

* add

* improvement on adding links

* Improvement on adding a link 2.0

* Improvement of adding a link 2.1

* Add Matplotlib in intersphinx

* Add the link

* Changing the link

* Changing the link 1.2

* Changing the conf

* fix the error

* rerun

* add matpoltlib in conf

* Change the forms of adding links

* fix error in conf

* change the link in conf

* change the form of the links

* fix error in conf

* change the link in conf

* Change the form of link in plot

* change the form of links in plot

* change the form of links in plot

* change the form in conf and plot

* Change the links in conf and plot

* Change the form of links in conf and plot

* change the form of links in plot

* Change the form of links in plot

* Change the form of link to colormaps in plot.py

* Change the link form of marker in pairplot

* Confirm the links

* Slightly modify wording

* minor grammar changes

* Minor change I missed

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* fix some formatting issues I somehow missed

* Added n_features_in_ to three of the embedded class estimators (continued from #434) (#462)

* added n_features_in_ to all four estimator classes

* to trigger netlify

* revert back for netlify

* Fix grammar

Co-authored-by: zeou1 <ouze1998@gmail.com>
Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Fix to Remove * imports in subgraph, utils  (#488)

* Update .travis.yml to incorporate python 3.8

* removed import *

* removed python 3.8 from .travis.yml

* added in the MS lic and fix #461

* hopefully able to merge now

Co-authored-by: Dwayne Pryce <dwpryce@microsoft.com>
Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* THE GRAND RENAMING HAS BEGUN (#481)

* THE GRAND RENAMING HAS BEGUN but holy crap it still doesn't work because of some nbsphinx thing that I don't know how to even begin troubleshooting

* Update .github/PULL_REQUEST_TEMPLATE.md

I am the goo0dest typer

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Update README.md

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Make the build status badge less obnoxious

* Made a sentence actually make sense

* Ah the last merge from dev must have overwritten some of the changes I made.  This should be fixed now.

* Found another instance of graspy in the issue template

* Some last second changes, including a fix to the utils init file because the __all__ value was being populated by identifier names not string representations of those identifier names

* I approve of black hating the single quotes for a string because I also hate it but it's still pythonic even if I wish it weren't so

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Update build.yml

`pull_request_target` doesn't do quite what we intended it to do, and is giving us a false sense of security over what pull requests are passing and which ones are broken.  I'm taking it off for now until I have a chance to look into this and get it working correctly for forked repositories.

* Publishing 0.1.0 prerelease to PyPI

* Add CODEOWNERS (#500)

* add skeleton codeowners from jhu side

* trailing line

* Run build on PR

In theory, simply adding pull_request to the list of triggers is all we need to run the build workflow on a forked repository.

* Update version.txt

Ugh this never should have been committed like this.

* remove star import in test latent position test (#494)

* remove star import in test latent position test

* fix import rename issue

* create align module (#419)

* seedless procrustes added as a part of the align module

* created base aligner

* seedless procrustes and sign flips modified such that they work with BaseAlign

* sign flips modified

* preliminary sign flips and seedless procrustes done; sign flips works as intended

* wrote many sign flips test, slightly changed the behavior of transform, overloaded fit_transform in sign flips

* sign flips done, with tests yayayay

* forgot to add a test for max criteria; also fixed a bug

* test sign flips changed to have 100% coverage

* created tests for seedless procrustes (unpopulated yet)

* created orthogonal procrustes file

* sign flips and orthogonal procrustes now have checks and doc strings

* blacked files

* created tests for orthogonal procrustes

* init bug

* orthogonal procrustes passes corresponding tests

* black orthogonal procrustes tests file

* massively simplified seedless procrustes code; speeded it up by no longer doing 100 iterations"
"

* added ot (optimal transport) to requirements

* wrong name of the package

* set-up tiny fix

* seedless procrustes code reviewed, doc strings added

* seedless procrustes checks and tests improved

* checking initital matrix in seedless procrustes as well now

* Seedless procrustes passes bad inputs tests

* tests for all possible initializations of seedless procrustes

* forgot to black tests

* latent distribution test now uses sign flips imported from align

* added a test showing that seedles procrustes works

* added sign flips and seedless procrustes to latent distribution test with tsts

* making sure that aligner kws are passed through

* me forgot to black

* increased coverage in LatentDistributionTest

* misprint lft -> ldt

* latent distribution test should pass now

* orthogonal procrustes handles other use cases

* docstring of orthogonal procurstes made proper

* created a test for scaling-orthogonal

* bug fix in orthogonal procurstes

* freeze Y by default in orthogonal procrustes

* commented out diagonal-orthogonal, because it doesn't fit into here

* blacked files; all but special cases of orthogonalprocrustes done

* changed comment in test orthogonal procrust

* removed diagonal-orthogonal and scaling-orthogonal options from the orthogonal procrustes

* comments massively changed; lpt uses align module

* meesa idiot, meesa no black files

* minor typos and make orthogonal check less strict

* run black

* try new black

* initialization changed to init in seedless procrustes

* initialization changed to init in seedless procrustes

* changed doc in seedless, freeze_Y removed from seedless

* freeze_Y removed from orthogonal procrustes

* accept_sparse removed throughout align module

* freeze_Y depreciated

* Q_Y removed from base and sign flips

* orthogonal procrustes no longer has Q_Y

* seedless no longer uses Q_Y

* latent position test now works after removing Q_Y things

* finished refactoring aligns attributes

* refactored codein align such that we now check array correctness in the base

* docs changed in the inference and align modules

* docs changed for seedless and orthogonal

* refactored seedless procrustes ever so slightly

* removed a doc from sign flips that is no longer true

* latent distribution test is now safer to use

* latent distribution test code refactored such that it's safer

* error message fix and checking for X dimensions match Q in transform of align

* bug fixed, seedless doc changed

* seedless now checks that initial_q and initial_p aren't provided at the same time; need tests

* test_seedless_procrustes.py

* meesa no black again...

* added math to seeedless

* removed iterative eps completly

* initializations docs changed to be more detailed (read: make Ben happy)

* refernces added in seedless procrustes

* lisence changed, i think in all places

* Errors and some docs capitalized appropriately

* inconsequential commit

* no longer breaking with reps = 0

* easy misrpints and docs fixed throughout align

* some more docs, reps = 0 no longer breaks

* more docstring polishing in seedless and latent distribution test

* orthogonal procrustes math explained better

* more docstrings

* changed criteria to criterion

* align added to references

* docstrings slightly improved

* orthogonal procrustes fit transform calls super

* bugfix

* added align to references

* references updated in procrustes (bugfixes)

* useless line removed

* minor docs changes

* renamed graspy to graspologic everywhere in my files, let's see how this breaks

* small init bug with no longer importing star

* (some) Ben's suggestions incorporated

* bug fixesss

* fix docs building?

* initial_Q _> selected_initial_Q

* orthogonal procrustes now has an objective function

* changed the doubly stochastic to soft assignemnt everywhere

* fit and fit predict docstrings changed

* meesa no blacks

* trying to fix docs ci failing

* add trailing under to attribute

* escaped trailing undescores

* only escape underscore after P

* weird spacing fix

* escaping afte rscore

* escape initially selected Q

* this should work??

* docs offset issue fixed

Co-authored-by: bdpedigo <benjamindpedigo@gmail.com>

* Padded sgm (#509)

* add padded sgm to gmp.py

* resolve some docs issues

* add tests

* remove excessive gmp tests for performance

* doc changes

* add tutorial, remove math from docs

* Update tutorial.rst

* Update gmp.py

* Update padded_sgm.ipynb

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Update test_match.py

* simplify padded tests

* Update test_match.py

* tutorial fixes

* fixes for build checks

* addressing review

* Update tutorial.rst

* Added an extra line to the README to trigger a new build

* Removed an extra line in the README to trigger a new build

* Intersphinx woes (#530)

* intersphinx woes

* see if dwayne is right

* Update gmp.py (#534)

* fixes Move mug2vec to embed module #502 (#549)

* fix:Move mug2vec from pipeline to embed #502

* fix:Change from ..embed to .embed #502

* fix:Remove pipeline #502

* fix:Add import mug2vec  #502

* fix:Change pipeline to embed #502

* fix:Add .. autoclass:: mug2vec #502

* fix:Remove pipeline.rst #502

* fix:Remove pipeline from index.rst #502

* fix:Move mug2vec from pipeline to embed #502

* fix: removed support for import graspologic.pipeline #502

* fix:Move test_mug2vec to tests #502

* Update issue templates

I don't have any super strong feelings about the feature requests template.

* Update feature_request.md

* Update feature_request.md

* Update feature_request.md

* Update feature_request.md

* Disabling blank issues

* Moving (almost as-is) Node2Vec from topologic

* Addressing some of the PR feedback as well as adding preconditions/assertions

* Divisive Cluster (#398)

* update HSBM code

* Update HSBM.py

* update predict function & label collection

* Update cluster.rst

* Rename rcluster.py to rclust.py

* Update __init__.py

* add anytree>=2.8.0 in setup.py

* fix input checking

* Create test_rclust

* Rename test_rclust to test_rclust.py

* add test of hierarchical 4-class

* update _fit & address feedback

* Update test_rclust.py

* Update rclust.py

* formatting

* sort imports

* docstring updates

* graspy -> graspologic

* remove embed_kws

* return pred instead of store

* minor tweaks

* imports in test

* simplify tests

* fix test on aic

* delta_criter defaults to 0

* test negative delta_criter

* update relabel in fit_predict, disabled in predict

* rename to DivisiveCluster

* rename to DivisiveCluster

* Update test_rclust.py

* Update __init__.py

* remove relabel

* Update test_rclust.py

* Rename rclust.py to divisive_cluster.py

* Update __init__.py

* Rename test_rclust.py to test_divisive_cluster.py

* add explicit references to classes

* minor doc changes

* mention hsbm again

* tiny typo

* add intersphinx, alphabetize intersphinx

* add a note about anytree

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Fix path issue, lose unused QAPLIB files (#535)

* get rid of qaplib files, make instance chr12c directly in test file

* Update test_match.py

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Add mypy.ini and mypy error fixes (#532)

* Add mypy + fixes

* Black? L100 was broken before.

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Update CODEOWNERS (#569)

* Preprocessing graph cuts (#572)

* WIP: Draft of graph cuts. Still needs unit tests and type checking.

* Adding the bulk of the unit tests from topologic

* Used black to autoformat the code

* Docs are still screwed up, I need a commit so I can revert back as I try things

* a feeble attempt at networkx intersphinx

* Fixed the docstrings for sphinx.

* Formatting with black

* Update graspologic/preprocessing/graph_cuts.py

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

Co-authored-by: bdpedigo <benjamindpedigo@gmail.com>

* Standardize docs (#525)

* Standardized first half of tutorials

* updating repo to match upstream

* Suppressing graph messages up to latent_position_test

* finished standardizing tutorials

* standardize simulations

* second standardize of simulations

* standardize models

* standardize embed

* standardize cluster

* standardize inference

* standardize plot

* standardize datasets

* standardize utility

* standardize pipeline

* standardize matching

* standardize subgraph

* standardize align

* blackened repo

* fixing the version.txt file

* responding to feedback

* Correcting version to 3.7.0

* Changing to _ = to suppress graph summary output

* Blackened repo

* Final check of netlify build

* correcting minor typos

* correcting one last typo

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Updating joblib version to fix #582 (#583)

Updating joblib version to fix #582

* Temporarily have scipy quadratic_assignment live in graspologic (#542)

* wraps scipy code, gets rid of skp function

* Update match.rst

* remove mentions of skp file, init_method -> init

* Update gmp.py

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* singular_values_ attribute for MultipleASE class (#559)

* Added singular_values_ attribute

* responding to comments

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Add doc status shield/link (#522)

* Update README.md

* make shield link to docs too

* switch to readthedocs

* Add function to remap categorical labelings (#529)

* add relabel function

* add tests

* add to docs

* clarify in docs

* update docs

* add arbitrary label type support

* reblack

* sort imports

* update docs for dwayne feedback

* add param documentation

* add simple typing

* add typing on output

* update type checking

* remove comment

* fix docs

* Update graspologic/utils/utils.py

Co-authored-by: Ali Saad-Eldin <54996865+asaadeldin11@users.noreply.github.com>

Co-authored-by: Ali Saad-Eldin <54996865+asaadeldin11@users.noreply.github.com>

* Create pull_request_template.md (#588)

* Create pull_request_template.md

* Rename pull_request_template.md to PULL_REQUEST_TEMPLATE.md

* Add pypi badge and update codecov badge (#587)

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Fix code block & typos (#591)

I especially like calling us out in the PR comments.  Well played!

* Adding MASE Tutorial (#491)

* Adding MASE Tutorial

* Updated explanation and specified n_components

* Correcting version to 3.7.0

* Updating to graspologic

* Added 'read more in the tutorials' message to MASE reference docs

* Fixing version.txt

* Fixing version.txt

* Fix Jupyter Notebook Version to 3.7

* Re-blackened repo

* Responding to feedback

* Cleared cell output

* Fixing Errors

* responding to minor comments

* Added clustering and score matrix visualization

* Added Visualization function

* changed color palette and added remap_labels function

* removing excess score matrices section

* switched to built-in remap_labels function

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Out of sample ASE (#518)

* add oos

* y=None needs to be in fit for sklearn compliance

* graspy > graspologic

* old oos branch did some weird stuff

* more changes to get up-to-date with upstream

* clearer documentation

* clearer documentation

* rename 'predict' to 'transform'

* fix bug in weighted check

* change name back to predict

* rough draft for OOS added to ASE tutorial

* add directed tutorial

* add remove_vertex utility function, fix ase documentation

* better docstring on remove_vertex, remove weighted restriction on ase

* improve remove_vertices

* much more efficient and simple remove_vertices

* lock numpy version to current, np.delete behavior changed in older versions

* inline documentation and examples

* updated tutorial

* ase currently not a valid sklearn estimator, so removing for now

* janky hack to deal with my local kernel in tutorial

* fix random typo

* explanation

* add input checks

* wording in ValueError

* never saved merge conflict fix

* rearranged code, had to repeat some code for efficiency, dont like that but cant think of a good solution

* cleaner organization now

* clarifying comments

* ASE no longer satisfies estimator requirements with current implementation

* fix inconsistent leading whitespace issue from test-coverage check?

* add tests for remove_vertices

* add integer index testing

* fix bug in predict code

* basic tests for spectral embed

* fix test_utils

* see if this fixes issue with test coverage

* see if this fixes test coverage issue

* cleaner syntax

* chec max dimension of input

* even cleaner syntax

* even cleaner-er syntax

* better syntax in remove_vertices

* update inline documentation

* exception tests

* exception tests on ase

* better examples, index check

* add positional-only and keyword-only arguments (does this work with older python versions?)

* Revert "add positional-only and keyword-only arguments (does this work with older python versions?)"
jkjfsadf
This reverts commit 3ec8f15.

* minor wording changes in docstrings

* remove estimator check

* revert numpy version change

* use masks instead of delete for remove_vertices

* cleaner syntax

* dtype in np.ones for clarity

* clean up masking code

* make pinv variable private

* add directed section to tutorial

* add separate out-of-sample embedding tutorial

* add new tutorial to rst

* change parameter name on remove_vertices

* move references, beefier docstring in utils

* revert version.txt

* indentation on docstring

* fix title level

* change name to Transform

* change predict to transform anywhere, deal with original matrix passed to transform

* fix tutorial

* diag_aug set False by default

* add test to make sure centers are in the correct place

* correct embed positions (verified with test), change to docstring

* diag_aug True by default

* simplify plotting code in tutorial

* fix diag_aug check

* check diag_aug in new tests

* take out diag_aug checks

* some name changes to tests

* merge conflicts

* requested changes

* line lengths and variable markings

* phrasing

* fixed bug that would have popped up in edge case

* begin attempting to debug deploy preview

* 'fix' edge case issue

* assert warning

* added note

* line lengths in remove_vertices

* remove comment in binarize

* add remove_vertices to reference docs

* add debugging line for deploy preview

* more lines of debugging code

* take out sphinx rst for now

* I diddly do da done did it

* unecessary param in plot function

* something broke deploy preview, maybe this fixes

* fix deploy issue

* tight layout on plot, rename 'left' to 'out'

* same as before, but with notebook saved

* return plot in plotting code

* delete unused line

* black

* think we can just raise an error here, i dont think theres a case where it makes sense for this to go through

* update test

* black on utils

* Update graspologic/embed/ase.py

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* add titles to heatmaps (#593)

* Leiden and modularity (#578)

* Committed initial leiden wrapper from graspologic_native and modularity code from topologic.  Next step is to figure out a good documentation plan and write tests, as well as get some early draft on input types (should we support np.ndarray or csr sparse matrices?  Any other matrices?  If so, should we write a 'get me a graph out of this' utility function like import_graph?  If so, what does that look like?

* Adding some documentation and increasing the superset of supported graph sources for leiden

* I have done things today in this API that I swore I'd never do and I'm not sure my hands will ever be clean

* We now have unit tests and docs

* Someone pointed out that this link didn't work, and I needed to get netlify to try a build again

* Addressing some PR feedback

* Clustering Tutorials (#516)

* Final drafts of clustering tutorial notebooks

* clear nb outputs

* Clear kernelspec

* graspy -> graspologic

* import data from github

* Minor edits, fix netlify error

* Modify nbs for inc simplicity, lower runtime

* peer review changes

* Office hours + Paul feedback

* Edit kclust wording

* Ben and Paul edits

* Fixed plot labels

* Fix colormap

* Inc plot titles, edit plot func

* Get rid of warning

* Fix colormap bug, code spacing

* Junk code

* Pedigo feedback pt. 1

* Intersphinx test

* Pedigo edits part 2

* Use new remap_labels function

* Ben edits

* Tweaks

* fix typo

* clarify estimation

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Update documentation location to RTD  (#600)

* Pairplot with gmm functionality fixing #382 (#541)

* Update .travis.yml to incorporate python 3.8

* pairplot with gmm v1

* fixes in test with import of gmm

* adding in pairplot import to test_plot.py

* formatting of test_plot.py

* added in color palette but nwo only using one color for ellipses at all times

* added input for palette and formated code with black

* tutorial with error, will fix

* first try at fixing formatting errors

* fixing double quote issues for formatting

* fixing test format

* fixing doc error in pairplot with gmm docstring

* commenting last two lines of test_tdpg_corr.py to pass tests

* format changes for test_rdpg.py commenting out and test-coverage fixes

* added in tutorial as well as made colors iterable, need to fix matching of colors

* tutorial fixes and color matching fixed

* fix minor issue

* fix minor issue

* fix small bug

* fix small bug

* trying to fix color mapping

* fix indexing into color error

* fix formatting error

* fix formatting error

* color matching with ellipse and scatter

* will fix private later

* fixes to tests and tutorials

* fixes to tests

* fixing method calls

* fixes to tests

* making blocks names match in testing

* fixed closeness of means issue in color matching

* fixed import error

* made plot_ellipse private and fixed up notebook

* fix import error with private plot_ellipse

* fix import error with private plot_ellipse

* small fix

* trying to fix import errors of private function

* to get test coverage to pass

* to get test coverage to pass

* cluster palette is maping ints to colors

* fixed comments according to @tliu68

* need to fix

* remove graspy/plot

* fixing warning for handles and labels error generated from creating legend

* this fixes the warning, I will link why we justs ignore when responding to Alex's comment

* fixed phrasing and removed superfluous latex matrices stuff

* fixed formatting and n_components variable renaming

* added comments for readability

* fixing formatting

* clearing cell output so netifly renders correctly

* dim to dimensions

* figsize not hardcoded

* remove title if not given

* kde arg

* histplot update

* better handle legend handles and labels, include comment explaining

* add comment explaining tick mark removal of histplot

* add reference for _plot_ellipse

* changed k to i

* use check_X_y to validate X and labels

* labels explained further in comment

* small comment fix

* change to _plot_ellipse_and_data

* fix with error

* TypeError is ValueError because using check_X_y

* citation fixed

* fixed function name

* titel docstring description fixed

* change back to distplot to be pacakge compatible

* refactor code to make cleaner approach to X with 2 features

* some formatting in notebook, formatting in plot.py, added comments

* forgot to push plot.py...

* formatting

* clearer setting in _plot_ellipse_and_data

* formatting

* link citation instead... srry

* legend moved center right

* same palette differnt colors in mismatch

* starting dimensions at 1

* add reaosn why this is useful in tutorial description

* title change!

* Update graspologic/plot/plot.py

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Update graspologic/plot/plot.py

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* changed default to Set1 and fxed conditonals

* only look at first handle and label set to make code simpler

* remove the superfluous sklearn import

* forgot to add the new legend part before returning

* added in sns import

* formatting

* addeding in see also section for AutoGMM and GMM

* tried to fix that weird formatting thing

* tried to fix that weird formatting thing

* tried to fix that weird formatting thing

* tried to fix that weird formatting thing

* add comment about GMM

* more formatting

* formatting

* formatting

* typos in GMM comment and title render fix

* remove last two comments of tests

* ax1, ax2, changed

* adding legend name argument

* stop overlap of plot with legend

* added histplot instead of distplot

* make seborn .11 in setup.py

* make seborn .11 in setup.py

* formatting

* added kde_kws

* formatting

* histplot_kws

* formatting

* sort imports

* remove defaults

* doc fixes, try intersphinx

* returns

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>

* Create a simple tutorial for `Aligning` (#573)

* Add aligning tutorial

* modified tutorial.rst

* Correcting the path of tutorial

* Correct some errors

* Separate the tutorials into classes

* Try to solve the errors in other modules in .rst

* update 2 version of aliging tutorial of comparing

* Deleting seperate tutorials, Modification according to the suggestions

* text changes

* file exchange

* file exchange

* fix error

* fix line length

* change some texts

* change in texts

* title fix

* Add more descriptions

* Fix the problems listed by reviewers

* Change the grid

* many-many anton's changes

* anton's many-many changes one more time

* changed titles slightly

* adding matrices displays after examples

* flushed the notebook

* text fix

* link text fix

* text fix

* text fixed and expression added

* text fix

* text fix

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>
Co-authored-by: alyakin314 <alyakin314@gmail.com>

* LPT/LDT implemented as a function (#547)

* modify test

* pull from upstream

* test

* revert

* remove graspy folder

* add lpt as function

* test

* docs tests tutorial

* add ldt function

* add random seed

* fix seed

* update

* test and tutorial

* updates

* fix minor issues

* fix conf.py

* fix LDT test

* ensure lpt/ldt from most recent version/debug tests

* reference/format update

* formatting

* minor formatting

* small formatting in lpt

* fix ldt test

* fix p val format

* fix formatting

* change name of files

* inconsequential commit

* revert

* fix errors

* resolve changes:

* remove line

* LPT tutorial fixes

* LDT tutorial fixes

* trigger unit and doc tests

* revert

* LPT tutorial render fix attempt

* Inconsequential change

* revert

* address anton's comments

* typo

* small fix

* small fix

* format issue

* inconsequential change

* remove trailing underscores

* don't expose difference_norm

* add embedding tests back

* import from a file directly, see if test passes

* difference norm unexposed

* remove fit in input-graph desc

* black

* remove extra white spaces

* return namedtuples

* misc_stats for ldt

* docstring modifications

* remove whitespace

* modify tutorials

* modify tests

* return identity if no align_type

* fix last name of namedtuple

* ldt tutorial mods

* lpt tutorial mods

* add namedtuple test

* check names for namedtuple

* typo

* revert unwanted changes in tutorials

* change order of heatmap and pairplot

* unwanted white spaces

* unwanted whitespace

* remove namedtuple test

Co-authored-by: Kareef Ullah <kareefullah@macbook-pro.myfiosgateway.com>
Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>
Co-authored-by: alyakin314 <alyakin314@gmail.com>

* better comments in OOS tutorial (#605)

Co-authored-by: alyakin314 <alyakin314@gmail.com>
Co-authored-by: bdpedigo <benjamindpedigo@gmail.com>
Co-authored-by: Jaewon Chung <jaewonc78@gmail.com>
Co-authored-by: Alex Loftus <alexloftus2004@gmail.com>
Co-authored-by: gkang7 <55039574+gkang7@users.noreply.github.com>
Co-authored-by: gk <gkang@jh.edu>
Co-authored-by: PerifanosPrometheus <69210497+PerifanosPrometheus@users.noreply.github.com>
Co-authored-by: Casey Weiner <54880846+caseypw@users.noreply.github.com>
Co-authored-by: Dwayne Pryce <github@dwayne.pryce.io>
Co-authored-by: Dwayne Pryce <dwpryce@microsoft.com>
Co-authored-by: Paul Adkisson <paul.wesley.adkisson@gmail.com>
Co-authored-by: kareef928 <51966539+kareef928@users.noreply.github.com>
Co-authored-by: Kareef Ullah <kareefullah@macbook-pro.myfiosgateway.com>
Co-authored-by: Daniel Borders <32661399+dtborders@users.noreply.github.com>
Co-authored-by: Daniel Borders <danielborders@MacBook-Pro-2.local>
Co-authored-by: Ali Saad-Eldin <54996865+asaadeldin11@users.noreply.github.com>
Co-authored-by: spencer-loggia <36051767+spencer-loggia@users.noreply.github.com>
Co-authored-by: Jingyan230 <69659070+Jingyan230@users.noreply.github.com>
Co-authored-by: Ze Ou <38440136+zeou1@users.noreply.github.com>
Co-authored-by: zeou1 <ouze1998@gmail.com>
Co-authored-by: dfrancisco1998 <40680427+dfrancisco1998@users.noreply.github.com>
Co-authored-by: Ali Saad-Eldin <ali.saadeldin11@gmail.com>
Co-authored-by: Anshu Trivedi <anshutrivedik@gmail.com>
Co-authored-by: Jon McLean <4429525+jonmclean@users.noreply.github.com>
Co-authored-by: Haoyin Xu <haoyinxu@gmail.com>
Co-authored-by: Casey Weiner <54880846+CaseyWeiner@users.noreply.github.com>
daxpryce pushed a commit that referenced this pull request Feb 26, 2021
* Update README.md

* make shield link to docs too

* switch to readthedocs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
PRs
Done
Development

Successfully merging this pull request may close these issues.

need a docs button in readme
2 participants