{"id":28203715,"url":"https://github.com/james-montgomery/lind","last_synced_at":"2025-10-13T16:14:52.908Z","repository":{"id":52494158,"uuid":"289537539","full_name":"James-Montgomery/lind","owner":"James-Montgomery","description":null,"archived":false,"fork":false,"pushed_at":"2021-04-27T17:12:27.000Z","size":6810,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-04T18:09:52.828Z","etag":null,"topics":["analysis","bayesian-statistics","design","experiments","frequentist-statistics","statistics","testing"],"latest_commit_sha":null,"homepage":"https://james-montgomery.github.io/lind/build/html/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/James-Montgomery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-22T17:43:22.000Z","updated_at":"2024-06-14T16:25:57.000Z","dependencies_parsed_at":"2022-09-15T15:23:02.054Z","dependency_job_id":null,"html_url":"https://github.com/James-Montgomery/lind","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":"James-Montgomery/python_project_template","purl":"pkg:github/James-Montgomery/lind","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Montgomery%2Flind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Montgomery%2Flind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Montgomery%2Flind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Montgomery%2Flind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/James-Montgomery","download_url":"https://codeload.github.com/James-Montgomery/lind/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Montgomery%2Flind/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016061,"owners_count":26085798,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["analysis","bayesian-statistics","design","experiments","frequentist-statistics","statistics","testing"],"created_at":"2025-05-17T02:12:19.070Z","updated_at":"2025-10-13T16:14:52.869Z","avatar_url":"https://github.com/James-Montgomery.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lind\n\nThis package is meant to house common tools used in experiments design and\nanalysis. There is little \"novel\" functionality here, but it is hopefully\npackaged in a way that is convenient and useful for users.\n\nI began this package for two reasons. First, I was  dissatisfied with the\nexisting packages available for experimentation in python. They seemed like\ncollections of random tools rather than a cohesive set of utilities that work\ntogether in harmony to a united purpose. Second, I used this as an opportunity\nto refresh my understanding of various statistical tools and methods.\n\n### Authors\n\n**James Montgomery** - *Initial Work* - [jamesmontgomery.us](http://jamesmontgomery.us)\n\n### License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n### About the Name\n\nLooking for a name for this package I tried looking back into the history of\nexperimentation. I was tempted to name the package after King Nebuchadnezzar in\nreference to the \"legumes and water\" anecdote from the book of Daniel. This is\noften considered one of the earliest controlled \"trials\".\n\nHowever, some of the first modern controlled trials were conducted by Dr. James\nLind. There are many scatter references to trials throughout history, but Lind\nrepresented the start of the modern era of controlled trials and their\nintegration into the scientific method. Hence I named the package after Lind.\nIf you  have a chance, I recommend taking an afternoon and reading about the\nwork Lind did to fight the disease Scurvy.\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your\nlocal machine for development and testing purposes.\n\n### Installing\n\nFor a local installation, first git clone this repository. Then follow these\ninstructions:\n\n```\npip install .\n```\n\nTo install from [pypi](https://pypi.org/project/lind/):\n\n```\npip install lind\n```\n\nTo install the package with test dependencies add `[tests]` to the install\ncommand:\n\n```\npip install lind[tests]\n```\n\nTo install with test dependencies and R backends:\n\n```\npip install -U \"lind[tests, r_backends]\"\n```\n\nSome functionality requires pre-computed designs available as static files. To\ninstall with static file support:\n\n```\npip install -U \"lind[tests, r_backends, static_designs]\"\n```\n\n### R Backends\n\nMany of the best experiment design packages are written in R due to the\nlanguage's popularity in academia. However, R is not always a convenient\nlanguage to work with (especially for industry practitioners). If you install\nlind with the `r_backends` extra requirement, you will get access to additional\nfunctionality drawing from popular R experimental design package. The default\ninstallation relies only on python native code.\n\n**Warning:** We have chosen respected and reputable R packages to use as our\nbackend where R code is used. However, code quality and accuracy of backend\nR code is not tested in this package. Please see the documentation for those\npackages to learn more about them. R package name are documented in the\nappropriate module docstrings.\n\n### Quick Start\n\nTODO\n\n## Testing\n\nTesting is an important part of creating maintainable, production grade code.\nBelow are instructions for running unit and style tests as well as installing\nthe necessary testing packages. Tests have intentionally been separated from\nthe installable pypi package for a variety of reasons.\n\nMake sure you have the required testing packages:\n\n```\npip install -r requirements_test.txt\n```\n\nTo install the project  with test dependencies see the install section.\n\n### Running the unit tests\n\nWe use the pytest framework for unit testing. Test preset args are defined\nin `pytest.ini`.\n\n```\npytest\n```\n\nWe aspire to no lower than 80% code coverage for unit tests.\n\n### Running the style tests\n\nHaving neat and legible code is important. Having documentation is also\nimportant. We use pylint as our style guide framework. Many of our naming\nconventions follow directly from the literary sources they come from. This\nmakes it easier to read the mathematical equations and see how they translate\ninto the code. This sometimes forces us to break pep8 conventions for naming.\nLinting presets are defined in pylintrc.\n\n```\npylint lind\n```\n\nWe aspire to no lower than an 8.0 / 10.0 style score when linting.\n\n## Contributor's Guide\n\nHere are some basic guidelines for contributing.\n\n### Branch Strategy\n\nThis repository doesn't use a complicated branching strategy. Simply create a\nfeature branch off of master. When the feature is ready to be integrated with\nmaster, submit a pull request. A pull request will re quire at least one peer\nreview and approval from the repository owner.\n\n### Style Guide\n\nPlease stick to pep8 standards when for your code. Use numpy style docstrings.\n\n### Test Requirements\n\nPlease use pytest as your testing suite. You code should have \u003e= 80% coverage.\n\n### Updating the Docs\n\nUpdating the documentation is simple. First, let auto-docs check for updates to\nthe package structure.\n\n```\ncd docs\nmake html\n```\n\n## Acknowledgments\n\nA big thanks to Mack Sweeney, Tom Caputo, and Matt Van Adlesberg, each of which\nhas put up with my many questions about experimental design and analysis. A\nspecial thanks to Mack Sweeney who continues to challenge me to become a better\nsoftware engineer.\n\n## TODO\n\n1. Install R in docker containers\n\n## Useful Resources\n\nMany of the best packages for experimental design are written in R. The link\nbelow is a comprehensive survey of useful DOE (Design of Experiments) packages\nin R: [LINK](https://cran.r-project.org/web/views/ExperimentalDesign.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-montgomery%2Flind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjames-montgomery%2Flind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-montgomery%2Flind/lists"}