Skip to content

Commit 659244e

Browse files
authored
Add dissect.database project (#1)
1 parent 3bf3844 commit 659244e

31 files changed

+3796
-0
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
tests/_data/** filter=lfs diff=lfs merge=lfs -text

.github/pull_request_template.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!--
2+
Thank you for submitting a Pull Request. Please:
3+
* Read our commit style guide:
4+
Commit messages should adhere to the following points:
5+
* Separate subject from body with a blank line
6+
* Limit the subject line to 50 characters as much as possible
7+
* Capitalize the subject line
8+
* Do not end the subject line with a period
9+
* Use the imperative mood in the subject line
10+
* The verb should represent what was accomplished (Create, Add, Fix etc)
11+
* Wrap the body at 72 characters
12+
* Use the body to explain the what and why vs. the how
13+
For an example, look at the following link:
14+
https://docs.dissect.tools/en/latest/contributing/style-guide.html#example-commit-message
15+
16+
* Include a description of the proposed changes and how to test them.
17+
18+
* After creation, associate the PR with an issue, under the development section.
19+
Or use closing keywords in the body during creation:
20+
E.G:
21+
* close(|s|d) #<nr>
22+
* fix(|es|ed) #<nr>
23+
* resolve(|s|d) #<nr>
24+
-->

.github/workflows/dissect-ci.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Dissect CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
tags:
7+
- '*'
8+
pull_request:
9+
workflow_dispatch:
10+
11+
jobs:
12+
ci:
13+
uses: fox-it/dissect-workflow-templates/.github/workflows/dissect-ci-template.yml@main
14+
secrets: inherit
15+
16+
publish:
17+
if: ${{ github.ref_name == 'main' || github.ref_type == 'tag' }}
18+
needs: [ci]
19+
runs-on: ubuntu-latest
20+
environment: dissect_publish
21+
permissions:
22+
id-token: write
23+
steps:
24+
- uses: actions/download-artifact@v4
25+
with:
26+
name: packages
27+
path: dist/
28+
# According to the documentation, it automatically looks inside the `dist/` folder for packages.
29+
- name: Publish package distributions to Pypi
30+
uses: pypa/gh-action-pypi-publish@release/v1
31+
32+
trigger-tests:
33+
needs: [publish]
34+
uses: fox-it/dissect-workflow-templates/.github/workflows/dissect-ci-demand-test-template.yml@main
35+
secrets: inherit
36+
with:
37+
on-demand-test: 'dissect.target'

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
coverage.xml
2+
.coverage
3+
dist/
4+
.eggs/
5+
*.egg-info/
6+
*.pyc
7+
__pycache__/
8+
.pytest_cache/
9+
tests/_docs/api
10+
tests/_docs/build
11+
.tox/

COPYRIGHT

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Dissect is released as open source by Fox-IT (https://www.fox-it.com) part of NCC Group Plc (https://www.nccgroup.com)
2+
3+
Developed by the Dissect Team ([email protected]) and made available at https://github.com/fox-it/dissect.database
4+
5+
License terms: AGPL3 (https://www.gnu.org/licenses/agpl-3.0.html)

LICENSE

Lines changed: 661 additions & 0 deletions
Large diffs are not rendered by default.

MANIFEST.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
exclude .gitignore
2+
recursive-exclude .github/ *

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# dissect.database
2+
3+
A Dissect module implementing parsers for various database formats. For more information,
4+
please see [the documentation](https://docs.dissect.tools/en/latest/projects/dissect.database/index.html).
5+
6+
## Installation
7+
8+
`dissect.database` is available on [PyPI](https://pypi.org/project/dissect.database/).
9+
10+
```bash
11+
pip install dissect.database
12+
```
13+
14+
This module is also automatically installed if you install the `dissect` package.
15+
16+
## Build and test instructions
17+
18+
This project uses `tox` to build source and wheel distributions. Run the following command from the root folder to build
19+
these:
20+
21+
```bash
22+
tox -e build
23+
```
24+
25+
The build artifacts can be found in the `dist/` directory.
26+
27+
`tox` is also used to run linting and unit tests in a self-contained environment. To run both linting and unit tests
28+
using the default installed Python version, run:
29+
30+
```bash
31+
tox
32+
```
33+
34+
For a more elaborate explanation on how to build and test the project, please see [the
35+
documentation](https://docs.dissect.tools/en/latest/contributing/tooling.html).
36+
37+
## Contributing
38+
39+
The Dissect project encourages any contribution to the codebase. To make your contribution fit into the project, please
40+
refer to [the development guide](https://docs.dissect.tools/en/latest/contributing/developing.html).
41+
42+
## Copyright and license
43+
44+
Dissect is released as open source by Fox-IT (<https://www.fox-it.com>) part of NCC Group Plc
45+
(<https://www.nccgroup.com>).
46+
47+
Developed by the Dissect Team (<[email protected]>) and made available at <https://github.com/fox-it/dissect>.
48+
49+
License terms: AGPL3 (<https://www.gnu.org/licenses/agpl-3.0.html>). For more information, see the LICENSE file.

dissect/database/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from __future__ import annotations
2+
3+
from dissect.database.bsd.db import DB
4+
5+
__all__ = ["DB"]

dissect/database/bsd/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from __future__ import annotations
2+
3+
from dissect.database.bsd.db import DB
4+
5+
__all__ = ["DB"]

0 commit comments

Comments
 (0)