{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/api-design-for-machine-learning-software","title":"API design for machine learning software: experiences from the scikit-learn project","arxiv_id":"1309.0238","date":"2013-09-01","proceeding":null,"authors":["Lars Buitinck","Gilles Louppe","Mathieu Blondel","Fabian Pedregosa","Andreas Mueller","Olivier Grisel","Vlad Niculae","Peter Prettenhofer","Alexandre Gramfort","Jaques Grobler","Robert Layton","Jake Vanderplas","Arnaud Joly","Brian Holt","Gaël Varoquaux"],"abstract":"Scikit-learn is an increasingly popular machine learning li- brary. Written\nin Python, it is designed to be simple and efficient, accessible to\nnon-experts, and reusable in various contexts. In this paper, we present and\ndiscuss our design choices for the application programming interface (API) of\nthe project. In particular, we describe the simple and elegant interface shared\nby all learning and processing units in the library and then discuss its\nadvantages in terms of composition and reusability. The paper also comments on\nimplementation details specific to the Python ecosystem and analyzes obstacles\nfaced by users and developers of the library.","url_abs":"http://arxiv.org/abs/1309.0238v1","url_pdf":"http://arxiv.org/pdf/1309.0238v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"api-design-for-machine-learning-software","repo_url":"https://github.com/mblondel/lightning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"api-design-for-machine-learning-software","repo_url":"https://github.com/accs-uaa/vegetation-cover-modeling","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"api-design-for-machine-learning-software","repo_url":"https://github.com/pdghawk/systrade","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"api-design-for-machine-learning-software","repo_url":"https://github.com/smirghor/machine-learning-resources","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1309.0238","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1309.0238"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/smirghor/machine-learning-resources","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pdghawk/systrade","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mblondel/lightning","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/accs-uaa/vegetation-cover-modeling","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"unverified":5},"by_repo_kind":{"listed":{"samples":5,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"d3e4ae9dc810035f","entry":"bonferroni_adjust","repo":"pdghawk/systrade","repo_kind":"listed","path":"systrade/backtest/backtests.py","file_url":"https://github.com/pdghawk/systrade/blob/HEAD/systrade/backtest/backtests.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"d3e4ae9dc810035f"}},{"code_sha256_prefix":"bfae7e6490ed3756","entry":"holm_adjust","repo":"pdghawk/systrade","repo_kind":"listed","path":"systrade/backtest/backtests.py","file_url":"https://github.com/pdghawk/systrade/blob/HEAD/systrade/backtest/backtests.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"bfae7e6490ed3756"}},{"code_sha256_prefix":"c7321580fd61a74c","entry":"moving_average","repo":"pdghawk/systrade","repo_kind":"listed","path":"systrade/models/indicators.py","file_url":"https://github.com/pdghawk/systrade/blob/HEAD/systrade/models/indicators.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"c7321580fd61a74c"}},{"code_sha256_prefix":"45c62fbc7c45a11c","entry":"subplots","repo":"pdghawk/systrade","repo_kind":"listed","path":"systrade/plotting/plt_tseries.py","file_url":"https://github.com/pdghawk/systrade/blob/HEAD/systrade/plotting/plt_tseries.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"45c62fbc7c45a11c"}},{"code_sha256_prefix":"8e6c9adf18e3f246","entry":"time_index_to_seconds_elapsed","repo":"pdghawk/systrade","repo_kind":"listed","path":"systrade/monte/stocks.py","file_url":"https://github.com/pdghawk/systrade/blob/HEAD/systrade/monte/stocks.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"8e6c9adf18e3f246"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}