Aleph
Search and browse documents and data; find the people and companies you look for.
Install / Use
/learn @alephdata/AlephREADME
.. epigraph::
Truth cannot penetrate a closed mind. If all places in the universe are in the Aleph, then all stars, all lamps, all sources of light are in it, too.
-- The Aleph <http://www.phinnweb.org/links/literature/borges/aleph.html>_,
Jorge Luis Borges
:warning: PROJECT STATUS: SUNSETTING :warning: Our involvement with this open-source project is being sunsetted. Maintenance of this version will officially end after December 2025.
Why?
This decision marks a significant strategic shift for us. Over the past year, our team has completely rewritten the Aleph codebase from scratch to launch Aleph Pro. As we transition to this new supported platform, we are focusing our resources entirely on Aleph Pro to ensure we can keep the lights on for investigations around the world.
For further details on this decision and what it means for the future, please read our official FAQs <https://www.occrp.org/en/announcement/aleph-pro-frequently-asked-questions-on-the-future-of-occrps-investigative-data-platform/>__ .
Timeline & Support
- We will continue to provide maintenance for this repository until December 31st, 2025. After this date, no further updates, bug fixes, or support will be provided by the core team.
- For any questions regarding the transition or the legacy software, please reach out via our
Discourse community <https://aleph.discourse.group//>__. - For those currently hosting their own Aleph instances, we will be in touch with you very soon regarding the transition.
- Organizations and individuals looking to collaborate can reach out to aleph-pro@occrp.org.
Thank you! We are incredibly proud of what we’ve built so far. Thank you to all the contributors and community members who helped build this project and believed in our mission.
About the software
Aleph is a tool for indexing large amounts of both documents (PDF, Word, HTML) and structured (CSV, XLS, SQL) data for easy browsing and search. It is built with investigative reporting as a primary use case. Aleph allows cross-referencing mentions of well-known entities (such as people and companies) against watchlists, e.g. from prior research or public datasets.
For further details on the software, how to use it, install it or manage data imports, please check the documentation at:
- https://docs.aleph.occrp.org
- Installation: https://docs.aleph.occrp.org/developers/installation
Support
Aleph is used and developed by multiple organisations and interested individuals.
If you're interested in participating in this process, please read the support
policy (SUPPORT.md), the contribution rules (CONTRIBUTING.md), and the code of conduct (CODE_OF_CONDUCT.md) and then get
in touch:
- https://docs.aleph.occrp.org/get-in-touch
Aleph Development
If you're looking to get involved with the development of Aleph, please check the CONTRIBUTING.md file for details on how to get started.
⚠️ IMPORTANT ⚠️
The default branch in this GitHub repository is "develop". The develop branch contains unreleased, unstable code. For stable releases, please check out the list of releases <https://github.com/alephdata/aleph/releases>_ or switch to the main branch <https://github.com/alephdata/aleph/tree/main>_.
Release process
If you are interested in, or have been tasked with releasing a new version of Aleph. The following steps should be followed:
Overview
The basic process for releasing Aleph is this:
- Check internal libraries for updates and merge. Release our libraries in the following order
- servicelayer
- followthemoney
- ingest-file
- react-ftm
- Ensure that all libraries for a release are up to date in aleph and merged to the develop branch.
- Ensure that any features, bugfixes are merged into develop and that all builds are passing
- Ensure that the CHANGELOG.md file is up to date on the develop branch. Add information as required.
- Create a RC release of Aleph.
- Test and verify the RC. Perform further RC releases as required.
- Merge all changes to main
- Create a final version of Aleph
As far as possible apply the rules of semantic versioning when determining the type of release to perform.
Technical process
RC releases
If you need to perform an RC release of Aleph, follow these steps:
- Ensure that the `CHANGELOG`` is up to date on the develop branch and that all outstanding PR's have been merged
- From the develop branch run bump2version (major, minor, patch) this will create a x.x.x-rc1 version of aleph
- push the tags to the remote with git push --tags
- push the version bump with git push
- If there are problems with the RC you can fix them and use bump2version build to generate new rc release
Major, minor, patch releases
- switch to
mainand pull from remote - If not already done merge
developintomain - Update translations using
make translate - If you get npm errors, go into the ui folder and run
npm install - commit translations to
mainand push to remote - run
bump2version --verbose --sign-tags release. Note that bump2version won't show changes when you make the change, but it will work (seegit logto check) - push the tags to the remote with
git push --tags - push version bump to remote with
git push - merge
mainback intodevelop. Slightly unrelated to the release process but this is a good time to do it so that the new version numbers appear indevelopas well
