{"id":15107619,"url":"https://github.com/apptivegrid/soil","last_synced_at":"2025-10-29T23:13:20.531Z","repository":{"id":54700563,"uuid":"522613767","full_name":"ApptiveGrid/Soil","owner":"ApptiveGrid","description":"An object oriented database that is easy to use and fun to play with","archived":false,"fork":false,"pushed_at":"2025-04-23T13:01:58.000Z","size":9504,"stargazers_count":46,"open_issues_count":34,"forks_count":8,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-05-09T00:09:05.313Z","etag":null,"topics":["database","oop","pharo"],"latest_commit_sha":null,"homepage":"","language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ApptiveGrid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-08T15:50:39.000Z","updated_at":"2025-04-30T22:02:14.000Z","dependencies_parsed_at":"2023-12-13T20:10:55.913Z","dependency_job_id":"136282af-ae0d-462b-acd2-6ae15875e62a","html_url":"https://github.com/ApptiveGrid/Soil","commit_stats":{"total_commits":1268,"total_committers":7,"mean_commits":"181.14285714285714","dds":"0.35725552050473186","last_synced_commit":"c4da7802fe8ae362379e9910c6c49292aedb9aea"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApptiveGrid%2FSoil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApptiveGrid%2FSoil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApptiveGrid%2FSoil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApptiveGrid%2FSoil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ApptiveGrid","download_url":"https://codeload.github.com/ApptiveGrid/Soil/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166521,"owners_count":21864482,"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":["database","oop","pharo"],"created_at":"2024-09-25T21:40:29.164Z","updated_at":"2025-10-13T06:17:11.784Z","avatar_url":"https://github.com/ApptiveGrid.png","language":"Smalltalk","readme":"# Soil\n\n[![CI matrix](https://github.com//ApptiveGrid/Soil/actions/workflows/build.yml/badge.svg)](https://github.com//ApptiveGrid/Soil/actions/workflows/build.yml)\n\nSoil is an object oriented database in [pharo](http://pharo.org). It is transaction based having ACID transactions. It has binary search capabilities with SkipList and BTree+ indexes. It aims to be a simple yet powerful database making it easy to develop with, easy to debug with, easy to inspect, ... \n\n\nTo read more please have a look at the [documentation](./docs/soil.md)\n\n\n## Loading\n\n**note** The main branch is not usable for existing databases right now, we need to apply a non-backward compatible change. When v4 is released there will be a converter for old databases to migrate. **Please load v3 until then**\n\nLoad it in 64bit Pharo 11/12/13 with Metacello:\n\n```smalltalk\nMetacello new \n\trepository: 'github://ApptiveGrid/Soil:v3/src';\n\tbaseline: 'Soil';\n\tload.\n```\nNote: For now, Windows is not supported. Contact us if you want to help!\n\n**caution** Soil is in an early stage meaning there are might be things missing. It is battle tested as it is the driving database behind [ApptiveGrid](http://www.apptivegrid.de) but you might have different requirements. If so, tell us!\n\n## Latest release\n\nThe latest release is [v3](https://github.com/ApptiveGrid/Soil/tree/v3) which you can load via\n\n```smalltalk\nMetacello new \n\trepository: 'github://ApptiveGrid/Soil:v3/src';\n\tbaseline: 'Soil';\n\tload.\n```\n\nThe changelog can be found [here](https://github.com/ApptiveGrid/Soil/blob/v3/docs/changelog.md)\n\n*note*: Releases in Soil are branches. Loading it with a release tag will get the hot fixes of that release. If you do not want this please use the commit hash as version instead\n\n### Development\n\nWe use github for organizing our development. You can see what we are doing right now on the [project board](https://github.com/orgs/ApptiveGrid/projects/2). An up-to-date list of milestones you can find in [milestones](https://github.com/ApptiveGrid/Soil/milestones?direction=desc\u0026sort=completeness\u0026state=open). \n\n### Talks about Soil\n- ESUG 2025 talks\n\t-  \"Rhizome - Distribution in Soil\" Slides [PDF](https://archive.esug.org/ESUG2025/day2/209-hart-rhizome.pdf), [SlideShare](https://www.slideshare.net/slideshow/rhizome-distribution-in-soil-esug-2025/281735029)\n   \t-  \"Soil: Tutorial and Q\u0026A\" Slides [PDF](https://archive.esug.org/ESUG2025/day2/210-denk-soil-tutorial.pdf), [SlideShare](https://www.slideshare.net/slideshow/soil-tutorial-and-q-a-esug-2025-gdansk/281735146)\n- Smalltalks 2024 talk \"Soil: an object oriented database for fun and profit\" Video [YouTube](https://www.youtube.com/watch?v=JWY5HCUlX_4)\n- ESUG 2023 talk \"Soil: a fresh look on object oriented databases\" Slides [PDF](http://archive.esug.org/ESUG2023/day3/02_1%20-%20Soil,%20a%20Fresh%20Look%20on%20Object%20Oriented%20Databases.pdf), [SlideShare](https://www.slideshare.net/slideshow/soil-a-fresh-look-on-object-oriented-databases/260898335), Video on [YouTube](https://www.youtube.com/watch?v=ui4TXcv7tus)\n- ESUG 2023 talk \"Soil and Pharo\". Slides [PDF](http://archive.esug.org/ESUG2023/day3/02_2%20-%20Soil%20and%20Pharo.pdf), [SlideShare](https://www.slideshare.net/esug/soil-and-pharo-260898369)\n- ESUG 2022 talk \"there's no magic... until you talk about databases\" Slides [PDF](http://archive.esug.org/ESUG2022/02Tuesday/08-hartl-deployment.pdf), [SlideShare](https://www.slideshare.net/slideshow/theres-no-magic-until-you-talk-about-databases/253132135), Video [YouTube](https://www.youtube.com/watch?v=MLtaHeFgbNo)\n- ESUG 2022 ShowUs: \"Soil: a OO Database for Pharo\" Video [YouTube](https://www.youtube.com/watch?v=_5mk7yYVzds\u0026t=3s)\n\n### Soil in Action\n\nIf you want to see Soil in action,  [ApptiveGrid](https://www.apptivegrid.de) is using it to persist all data. (You can create a free accout [here](https://app.apptivegrid.de)). \n\n- Smalltalks 2024: \"ApptiveGrid: solve (business) problems without programming\"  [Video Youtube](https://www.youtube.com/watch?v=aPtsGswPJAc)\n- Pharo Success Story: [ApptiveGrid - Digitize and Automatize Business Processes](https://www.pharo.org/success/ApptiveGrid.html)\n- Demo ESUG 2022: \"ApptiveGrid, a collaborative Database\" [Video Youtube](https://www.youtube.com/watch?v=VVkJsIIqMKM)\n\n### NEWS \n- [ANN] Release V3 [Changelog](https://github.com/ApptiveGrid/Soil/blob/v3/docs/changelog.md) 2025-07-02\n- ESUG 2025 talks 2025-07-02\n\t-  \"Rhizome - Distribution in Soil\" Slides [PDF](https://archive.esug.org/ESUG2025/day2/209-hart-rhizome.pdf), [SlideShare](https://www.slideshare.net/slideshow/rhizome-distribution-in-soil-esug-2025/281735029)\n   \t-  \"Soil: Tutorial and Q\u0026A\" Slides [PDF](https://archive.esug.org/ESUG2025/day2/210-denk-soil-tutorial.pdf), [SlideShare](https://www.slideshare.net/slideshow/soil-tutorial-and-q-a-esug-2025-gdansk/281735146)\n- Smalltalk 2024 talk \"Soil: an object oriented database for fun and profit\" 2025-07-04\n\t- Video on [YouTube](https://www.youtube.com/watch?v=JWY5HCUlX_4)\n- The Soil Database has now an entry in [HAL](https://hal.science/hal-04726251) and is archived by [https://www.softwareheritage.org](https://www.softwareheritage.org) 2024-11-22\n- [ANN] Release V2 of Soil, the object oriented database for Pharo implemented in Pharo [Mail](https://lists.pharo.org/empathy/thread/OE434T74GYE74GUNP3GLKYAZGGBXUSWT) 2024-08-28\n- [ANN] Soil release v1 [Mail](https://lists.pharo.org/empathy/thread/6VYPN7R6TQPWDKQTRXUV7S6UU5AEMPV7) 2024-04-24\n- ESUG2023 talk \"Soil: a fresh look on object oriented databases\"\n\t- [Slides PDF](http://archive.esug.org/ESUG2023/day3/02_1%20-%20Soil,%20a%20Fresh%20Look%20on%20Object%20Oriented%20Databases.pdf), [Slides SlideShare](https://www.slideshare.net/slideshow/soil-a-fresh-look-on-object-oriented-databases/260898335)\n \t- Video on [YouTube](https://www.youtube.com/watch?v=ui4TXcv7tus)\n- ESUG 2023 talk \"Soil and Pharo\"\n  \t- [Slides PDF](http://archive.esug.org/ESUG2023/day3/02_2%20-%20Soil%20and%20Pharo.pdf)\n\t- [Slides SlideShare](https://www.slideshare.net/esug/soil-and-pharo-260898369)\n- Soil got the second prize in the [2023 ESUG Innovation Technology Awards](https://esug.github.io/2023-Conference/awardsSubmissions.html) !\n- 06/2023: [ApptiveGrid](https://www.apptivegrid.de) starts using Soil\n- Development of Soil announced at ESUG 2022\n\t- Talk \"there's no magic... until you talk about databases\"  [Slides PDF](http://archive.esug.org/ESUG2022/02Tuesday/08-hartl-deployment.pdf), [Slides SlideShare](https://www.slideshare.net/slideshow/theres-no-magic-until-you-talk-about-databases/253132135), [Video YouTube](https://www.youtube.com/watch?v=MLtaHeFgbNo)\n \t- ShowUs: \"Soil: a OO Database for Pharo\"  [Video YouTube](https://www.youtube.com/watch?v=_5mk7yYVz)\n\n(to get all Soil News by email, register [here](https://app.apptivegrid.de/api/r/623c52b04872209f7f96c908/6880cf1feeeecc1455f9cfc8/BDOmRVrRfuAzfyGa0wAGeVJBkUQzMsq0WKExnASoA79BfeX69KR))\n\n![esug medal](https://esug.github.io/2022-Conference/esugAwards2ndSilverRoundMedal.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapptivegrid%2Fsoil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapptivegrid%2Fsoil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapptivegrid%2Fsoil/lists"}