GitHub - internetarchive/openlibrary: One webpage for every book ever published! Skip to content Sign up Why GitHub? Features → Code review Project management Integrations Actions Packages Security Team management Hosting Mobile Customer stories → Security → Team Enterprise Explore Explore GitHub → Learn & contribute Topics Collections Trending Learning Lab Open source guides Connect with others Events Community forum GitHub Education GitHub Stars program Marketplace Pricing Plans → Compare plans Contact Sales Nonprofit → Education → In this repository All GitHub ↵ Jump to ↵ No suggested jump to results In this repository All GitHub ↵ Jump to ↵ In this repository All GitHub ↵ Jump to ↵ Sign in Sign up {{ message }} internetarchive / openlibrary Sponsor Sponsor internetarchive/openlibrary Watch 138 Star 2.5k Fork 639 One webpage for every book ever published! openlibrary.org AGPL-3.0 License 2.5k stars 639 forks Star Watch Code Issues 551 Pull requests 68 Actions Projects 10 Wiki Security Insights More Code Issues Pull requests Actions Projects Wiki Security Insights Dismiss Join GitHub today GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together. Sign up GitHub is where the world builds software Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world. Sign up for free Dismiss master 173 branches 90 tags Go to file Code Clone HTTPS GitHub CLI Use Git or checkout with SVN using the web URL. Work fast with our official CLI. Learn more. Open with GitHub Desktop Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit cdrini Merge pull request #4104 from nk4456542/4101/fix/remove-duplicate-del… … 88a9cd5 Dec 14, 2020 Merge pull request #4104 from nk4456542/4101/fix/remove-duplicate-del… …ete-button Remove the Duplicate Delete Button on Edit Authors Page 88a9cd5 Git stats 11,844 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github Merge pull request #4188 from internetarchive/GitHub-Action-lint_pyth… Dec 11, 2020 .vscode [2076/feature/remote-debugging] allow for remote debugging Apr 25, 2019 conf Merge pull request #4135 from jamesachamp/review-resolution/crowd-sou… Dec 12, 2020 docker Pip install booklending_utils on prod/staging Dec 9, 2020 openlibrary Merge pull request #4104 from nk4456542/4101/fix/remove-duplicate-del… Dec 14, 2020 scripts Add SHA to make-integration-branch Dec 11, 2020 static Merge pull request #4198 from Yashs911/color Dec 14, 2020 tests Removed unused Python standard library imports (#3965) Oct 28, 2020 vendor Remove Flot 0.7.0 Nov 4, 2020 .babelrc fix eslint errors + babel errors Sep 28, 2020 .browserslistrc Time for webpack (#1936) Mar 20, 2019 .dockerignore Add newline at end of file Jan 30, 2020 .eslintignore Remove openbook static folder Oct 5, 2019 .eslintrc.json Disable vue/no-mutating-props rule Dec 10, 2020 .gitattributes Add .gitattributes & normalize line endings Apr 5, 2017 .gitignore [solr-builder] move files around + more cython Mar 2, 2020 .gitmodules remove acs4 submodule Aug 11, 2020 .pre-commit-config.yaml Make home service not depend on db Oct 22, 2020 .python-version Enable Docker to us Python 2.7.6, 3.8.6, and 3.9.0 Oct 19, 2020 .stylelintignore Linting should apply to subfolders as well Sep 14, 2018 .stylelintrc.json Add linting rule for consistent double quotes and fix the offenders Mar 4, 2019 .svgo.yml Add `svg-min` npm command Oct 21, 2018 CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Dec 2, 2019 CONTRIBUTING.md Fixed some typos in CONTRIBUTING.md (#3972) Nov 2, 2020 LICENSE Include text version of the license Oct 30, 2019 Makefile Ignore node_modules when testing python Nov 30, 2020 Readme.md fixing video link Oct 19, 2020 bundlesize.config.json Increase maximum bundle size for graphs Nov 4, 2020 config Make the support structure a little more robust Jun 21, 2011 docker-compose.infogami-local.yml Pin docker-compose version to 3.1 for secrets Nov 23, 2020 docker-compose.override.yml Use same nginx conf for infobase as prod Nov 26, 2020 docker-compose.production.yml Pip install booklending_utils on prod/staging Dec 9, 2020 docker-compose.staging.yml Pip install booklending_utils on prod/staging Dec 9, 2020 docker-compose.yml Use same nginx conf for infobase as prod Nov 26, 2020 infogami Reorganized the repo to move all python code into openlibrary module. Jul 8, 2009 package-lock.json Bump ini from 1.3.5 to 1.3.7 Dec 10, 2020 package.json Merge pull request #4230 from internetarchive/dependabot/npm_and_yarn… Dec 10, 2020 requirements.txt Move flup to requirements_common.txt Nov 17, 2020 requirements_common.txt Merge pull request #4183 from internetarchive/Security-update-to-lxml… Dec 8, 2020 requirements_test.txt requirements_test.txt: Upgrade to pytest 6.2.0 Dec 13, 2020 setup.py [solr-builder] Fix linting errors Mar 2, 2020 vue.config.js Prevent lint running as part of vue build Sep 28, 2020 webpack.config.js Don't inline vue into each component Oct 19, 2020 View code Readme.md Open Library Open Library is an open, editable library catalog, building towards a web page for every book ever published. Are you looking to get started? This is the guide you are looking for. You may wish to learn more about Google Summer of Code (GSoC)? or Hacktoberfest. Table of Contents Overview Installation Code Organization Architecture The Frontend The Backend The Service Architecture Developer's Guide Running Tests Contributing Public APIs FAQs Overview Open Library is an effort started in 2006 to create "one web page for every book ever published". It provides access to many public domain and out-of-print books, which can be read online. Here's a quick public tour of Open Library to get your familiar with the service and its offerings (10min) Learn more about the Open Library project The Vision (Dream) of OpenLibrary Visit the Blog Installation The development environment can be set up using the Docker Instructions. You can also watch the video tutorial for a more detailed explanation. Our Docker environment is in active development. Want to contribute? Here's our top-level Docker todo-list and a list of open Docker issues. Developer's Guide For instructions on administrating your Open Library instance, refer the Developer's Quickstart Guide. You can also find more information regarding Developer Documentation for Open Library in the Open Library Wiki Code Organization openlibrary/core - core openlibrary functionality, imported and used by www openlibrary/plugins - other models, controllers, and view helpers openlibrary/views - views for rendering web pages openlibrary/templates - all the templates used in the website openlibrary/macros - macros are like templates, but can be called from wikitext Architecture The Backend OpenLibrary is developed on top of the Infogami wiki system, which is itself built on top of the web.py Python web framework and the Infobase database framework. Overview of Backend Web Technologies Once you've read the overview of OpenLibrary Backend technologies, it's highly encouraged you read the developer primer which explains how to use Infogami (and its database, Infobase) Infogami Developer Tutorial If you want to dive into the source code for Infogami, see the Infogami repo. Running tests Open Library tests can be run using pytest. Kindly look up on our Testing Document for more details Run tests while the docker container is running cd docker/ docker-compose exec web make test Integration Tests Integration tests use the Splinter webdriver with Google Chrome. For instructions on installation requirements and running integration tests, see Integration Tests README License All source code published here is available under the terms of the GNU Affero General Public License, version 3. About One webpage for every book ever published! openlibrary.org Topics internet-archive open-source books library-catalogue hacktoberfest Resources Readme License AGPL-3.0 License Releases 90 deploy-2020-12-10 Latest Dec 10, 2020 + 89 releases Sponsor this project https://archive.org/donate Contributors 149 + 138 contributors Languages Python 60.6% HTML 18.6% JavaScript 7.2% Less 6.3% mIRC Script 3.5% Vue 2.2% Other 1.6% © 2020 GitHub, Inc. Terms Privacy Cookie Preferences Security Status Help Contact GitHub Pricing API Training Blog About You can’t perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products. Learn more. Accept Reject We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products. You can always update your selection by clicking Cookie Preferences at the bottom of the page. For more information, see our Privacy Statement. Essential cookies We use essential cookies to perform essential website functions, e.g. they're used to log you in. Learn more Always active Analytics cookies We use analytics cookies to understand how you use our websites so we can make them better, e.g. they're used to gather information about the pages you visit and how many clicks you need to accomplish a task. Learn more Accept Reject Save preferences