{"id":15913073,"url":"https://github.com/mnarayan/rankdist","last_synced_at":"2025-04-03T03:16:32.805Z","repository":{"id":150071676,"uuid":"106212467","full_name":"mnarayan/rankdist","owner":"mnarayan","description":"A python package for statistical inference and comparisons of rankings","archived":false,"fork":false,"pushed_at":"2017-10-08T22:56:30.000Z","size":1733,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-27T04:12:53.208Z","etag":null,"topics":["python","rank-comparisons","ranking"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mnarayan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-08T21:51:07.000Z","updated_at":"2017-10-08T21:54:15.000Z","dependencies_parsed_at":"2023-06-04T20:00:34.357Z","dependency_job_id":null,"html_url":"https://github.com/mnarayan/rankdist","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnarayan%2Frankdist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnarayan%2Frankdist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnarayan%2Frankdist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnarayan%2Frankdist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mnarayan","download_url":"https://codeload.github.com/mnarayan/rankdist/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246927844,"owners_count":20856198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","rank-comparisons","ranking"],"created_at":"2024-10-06T16:22:57.001Z","updated_at":"2025-04-03T03:16:32.676Z","avatar_url":"https://github.com/mnarayan.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#project-template - A template for scikit-learn extensions\n\n[![Travis Status](https://travis-ci.org/scikit-learn-contrib/project-template.svg?branch=master)](https://travis-ci.org/scikit-learn-contrib/project-template)\n[![Coveralls Status](https://coveralls.io/repos/scikit-learn-contrib/project-template/badge.svg?branch=master\u0026service=github)](https://coveralls.io/r/scikit-learn-contrib/project-template)\n[![CircleCI Status](https://circleci.com/gh/scikit-learn-contrib/project-template.svg?style=shield\u0026circle-token=:circle-token)](https://circleci.com/gh/scikit-learn-contrib/project-template/tree/master)\n\n**project-template** is a template project for \n[scikit-learn](http://scikit-learn.org/) \ncompatible extensions.\n\nIt aids development of estimators that can be used in scikit-learn pipelines\nand (hyper)parameter search, while facilitating testing (including some API\ncompliance), documentation, open source development, packaging, and continuous\nintegration.\n\n## Important Links\nHTML Documentation - http://contrib.scikit-learn.org/project-template/\n\n## Installation and Usage\nThe package by itself comes with a single module and an estimator. Before\ninstalling the module you will need `numpy` and `scipy`.\nTo install the module execute:\n```shell\n$ python setup.py install\n```\nor \n```\npip install sklearn-template\n```\n\nIf the installation is successful, and `scikit-learn` is correctly installed,\nyou should be able to execute the following in Python:\n```python\n\u003e\u003e\u003e from skltemplate import TemplateEstimator\n\u003e\u003e\u003e estimator = TemplateEstimator()\n\u003e\u003e\u003e estimator.fit(np.arange(10).reshape(10, 1), np.arange(10))\n```\n\n`TemplateEstimator` by itself does nothing useful, but it serves as an example\nof how other Estimators should be written. It also comes with its own unit\ntests under `template/tests` which can be run using `nosetests`.\n\n## Creating your own library\n\n### 1. Cloning\nClone the project into your computer by executing\n```shell\n$ git clone https://github.com/scikit-learn-contrib/project-template.git\n```\nYou should rename the `project-template` folder to the name of your project.\nTo host the project on Github, visit https://github.com/new and create a new\nrepository. To upload your project on Github execute\n```shell\n$ git remote set-url origin https://github.com/username/project-name.git\n$ git push origin master\n```\n\n### 2. Modifying the Source\nYou are free to modify the source as you want, but at the very least, all your\nestimators should pass the [`check_estimator`](http://scikit-learn.org/stable/modules/generated/sklearn.utils.estimator_checks.check_estimator.html#sklearn.utils.estimator_checks.check_estimator)\ntest to be scikit-learn compatible.\n(If there are valid reasons your estimator cannot pass `check_estimator`, please\n[raise an issue](https://github.com/scikit-learn/scikit-learn/issues/new) at\nscikit-learn so we can make `check_estimator` more flexible.)\n\nThis template is particularly useful for publishing open-source versions of\nalgorithms that do not meet the criteria for inclusion in the core scikit-learn\npackage (see [FAQ](http://scikit-learn.org/stable/faq.html)), such as recent\nand unpopular developments in machine learning.\nHowever, developing using this template may also be a stepping stone to\neventual inclusion in the core package.\n\nIn any case, developers should endeavor to adhere to scikit-learn's\n[Contributor's Guide](http://scikit-learn.org/stable/developers/) which promotes\nthe use of:\n* algorithm-specific unit tests, in addition to `check_estimator`'s common tests\n* [PEP8](https://www.python.org/dev/peps/pep-0008/)-compliant code\n* a clearly documented API using [NumpyDoc](https://github.com/numpy/numpydoc)\n  and [PEP257](https://www.python.org/dev/peps/pep-0257/)-compliant docstrings\n* references to relevant scientific literature in standard citation formats\n* [doctests](https://docs.python.org/3/library/doctest.html) to provide\n  succinct usage examples\n* standalone examples to illustrate the usage, model visualisation, and\n  benefits/benchmarks of particular algorithms\n* efficient code when the need for optimization is supported by benchmarks\n\n### 3. Modifying the Documentation\n\nThe documentation is built using [sphinx](http://www.sphinx-doc.org/en/stable/).\nIt incorporates narrative documentation from the `doc/` directory, standalone\nexamples from the `examples/` directory, and API reference compiled from\nestimator docstrings.\n\nTo build the documentation locally, ensure that you have `sphinx`,\n`sphinx-gallery` and `matplotlib` by executing:\n```shell\n$ pip install sphinx matplotlib sphinx-gallery\n```\nThe documentation contains a home page (`doc/index.rst`), an API\ndocumentation page (`doc/api.rst`) and a page documenting the `template` module \n(`doc/template.rst`). Sphinx allows you to automatically document your modules\nand classes by using the `autodoc` directive (see `template.rst`). To change the\nasthetics of the docs and other paramteres, edit the `doc/conf.py` file. For\nmore information visit the [Sphinx Documentation](http://www.sphinx-doc.org/en/stable/contents.html).\n\nYou can also add code examples in the `examples` folder. All files inside\nthe folder of the form `plot_*.py` will be executed and their generated\nplots will be available for viewing in the `/auto_examples` URL.\n\nTo build the documentation locally execute\n```shell\n$ cd doc\n$ make html\n```\n\n### 4. Setting up Travis CI\n[TravisCI](https://travis-ci.org/) allows you to continuously build and test\nyour code from Github to ensure that no code-breaking changes are pushed. After\nyou sign up and authourize TravisCI, add your new repository to TravisCI so that\nit can start building it. The `travis.yml` contains the configuration required\nfor Travis to build the project. You will have to update the variable `MODULE`\nwith the name of your module for Travis to test it. Once you add the project on\nTravisCI, all subsequent pushes on the master branch will trigger a Travis\nbuild. By default, the project is tested on Python 2.7 and Python 3.5.\n\n### 5. Setting up Coveralls\n[Coveralls](https://coveralls.io/) reports code coverage statistics of your\ntests on each push. Sign up on Coveralls and add your repository so that\nCoveralls can start monitoring it. The project already contains the required\nconfiguration for Coveralls to work. All subsequent builds after adding your\nproject will generate a coverage report.\n\n### 6. Setting up Appveyor\n[Appveyor](https://www.appveyor.com/) provides continuous intergration on the\nwindows  platform. Currently, Appveyor can also be used to build platform\nspecific Windows wheels, which can be uploaded to a Cloud Service provider and\nbe made available via a Content Delivery Network (CDN). To setup Appveyor to\nbuild your project you need to sign up on Appveyor and authorize it. Appveyor\nconfigaration is governed by the `appveyor.yml` file. You have to change the\nfollowing variables in it to match the requirements of your project.\n\n| Variable | Value|\n|----------|------|\n| `PROJECT_NAME`  | The name of your project. This should be the same as the `name` field in `setup.py`  |\n| `MODULE` | The name of the module you want to be tested |\n| `CLOUD_STORAGE` | A constant which indicates which Cloud Storage service provider to use. It should be one among the [Supported Providers](https://libcloud.readthedocs.io/en/latest/storage/supported_providers.html) |\n| `CLOUD_CONTAINER` | The name of a container with your Cloud Storage service provider where the built files will be uploaded.|\n| `WHEELHOUSE_UPLOADER_USERNAME` | The username you have used to register with your Cloud Storage procider |\n| `WHEELHOUSE_UPLOADER_SECRET` | An API key you have obtained from your Cloud Storage provider, which will authenticate you to upload files to it. This should **never** be stored in plain text. To make Appveyor encrypt your API key, use Appveyor's [Encrypt Tool](https://ci.appveyor.com/tools/encrypt) and store the returned value using a `secure:` prefix. |\n\nMaintainers of an official [scikit-learn contrib](\nhttps://contrib.scikit-learn.org) repository can request [Rackspace]\n(https://mycloud.rackspace.com/) credentials from the scikit-learn developers.\n\n\n### 7. Setting up Circle CI\nThe project uses [CircleCI](https://circleci.com/) to build its documentation\nfrom the `master` branch and host it using [Github Pages](https://pages.github.com/).\nAgain,  you will need to Sign Up and authorize CircleCI. The configuration\nof CircleCI is governed by the `circle.yml` file, which needs to be mofified\nif you want to setup the docs on your own website. The values to be changed\nare\n\n| Variable | Value|\n|----------|------|\n| `USERNAME`  | The name of the user or organization of the repository where the project and documentation is hosted  |\n| `DOC_REPO` | The repository where the documentation will be hosted. This can be the same as the project repository |\n| `DOC_URL` | The relative URL where the documentation will be hosted |\n| `EMAIL` | The email id to use while pushing the documentation, this can be any valid email address |\n\nIn addition to this, you will need to grant access to the CircleCI computers\nto push to your documentation repository. To do this, visit the Project Settings\npage of your project in CircleCI. Select `Checkout SSH keys` option and then\nchoose `Create and add user key` option. This should grant CircleCI privileges\nto push to the repository `https://github.com/USERNAME/DOC_REPO/`.\n\nIf all goes well, you should be able to visit the documentation of your project\non \n```\nhttps://github.com/USERNAME/DOC_REPO/DOC_URL\n```\n\n### 8. Adding Badges\n\nFollow the instructions to add a [Travis Badge](https://docs.travis-ci.com/user/status-images/), \n[Coveralls Badge](https://coveralls.io) and \n[CircleCI Badge](https://circleci.com/docs/status-badges) to your repository's\n`README`.\n\n### 9. Advertising your package\n\nOnce your work is mature enough for the general public to use it, you should\nsubmit a Pull Request to modify scikit-learn's\n[related projects listing](https://github.com/scikit-learn/scikit-learn/edit/master/doc/related_projects.rst).\nPlease insert brief description of your project and a link to its code\nrepository or PyPI page.\nYou may also wish to announce your work on the\n[`scikit-learn-general` mailing list](https://lists.sourceforge.net/lists/listinfo/scikit-learn-general).\n\n### 10. Uploading your package to PyPI\n\nUploading your package to [PyPI](https://pypi.python.org/pypi) allows users to\ninstall your package through `pip`. Python provides two repositories to upload\nyour packages. The [PyPI Test](https://testpypi.python.org/pypi) repository,\nwhich is to be used for testing packages before their release, and the\n[PyPI](https://pypi.python.org/pypi) repository, where you can make your\nreleases. You need to register a username and password with both these sites.\nThe username and passwords for both these sites need not be the same. To upload\nyour package through the command line, you need to store your username and\npassword in a file called `.pypirc` in your `$HOME` directory with the\nfollowing format.\n\n```shell\n[distutils]\nindex-servers =\n  pypi\n  pypitest\n\n[pypi]\nrepository=https://pypi.python.org/pypi\nusername=\u003cyour-pypi-username\u003e\npassword=\u003cyour-pypi-passowrd\u003e\n\n[pypitest]\nrepository=https://testpypi.python.org/pypi\nusername=\u003cyour-pypitest-username\u003e\npassword=\u003cyour-pypitest-passowrd\u003e\n```\nMake sure that all details in `setup.py` are up to date. To upload your package\nto the Test server, execute:\n```\npython setup.py register -r pypitest\npython setup.py sdist upload -r pypitest\n```\nYour package should now be visible on: https://testpypi.python.org/pypi\n\nTo install a package from the test server, execute:\n```\npip install -i https://testpypi.python.org/pypi \u003cpackage-name\u003e\n```\n\nSimilary, to upload your package to the PyPI server execute\n```\npython setup.py register -r pypi\npython setup.py sdist upload -r pypi\n```\nTo install your package, execute:\n```\npip install \u003cpackage-name\u003e\n```\n\n*Thank you for cleanly contributing to the scikit-learn ecosystem!*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnarayan%2Frankdist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnarayan%2Frankdist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnarayan%2Frankdist/lists"}