gitpure 0.1.0__tar.gz → 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -406,7 +406,7 @@ checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
406
406
 
407
407
  [[package]]
408
408
  name = "gitpure"
409
- version = "0.1.0"
409
+ version = "0.1.1"
410
410
  dependencies = [
411
411
  "gix",
412
412
  "pyo3",
@@ -0,0 +1,29 @@
1
+ [package]
2
+ name = "gitpure"
3
+ version = "0.1.1"
4
+ edition = "2024"
5
+ authors = ["Max Dymond <cmeister2@gmail.com>"]
6
+ license = "MIT"
7
+ description = "A Python git library implemented in Rust using gitoxide"
8
+ readme = "README.md"
9
+ homepage = "https://github.com/cmeister2/gitpure"
10
+ repository = "https://github.com/cmeister2/gitpure"
11
+ documentation = "https://github.com/cmeister2/gitpure"
12
+ keywords = ["git", "python", "rust", "gitoxide", "version-control"]
13
+ categories = ["development-tools", "api-bindings"]
14
+
15
+ [lib]
16
+ name = "gitpure"
17
+ crate-type = ["cdylib"]
18
+
19
+ [dependencies]
20
+ pyo3 = "0.25.0"
21
+
22
+ [dependencies.gix]
23
+ version = "0.73.0"
24
+ default-features = false
25
+ features = [
26
+ "blocking-http-transport-reqwest-rust-tls",
27
+ "parallel",
28
+ "worktree-mutation"
29
+ ]
gitpure-0.1.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Max Dymond
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
gitpure-0.1.1/PKG-INFO ADDED
@@ -0,0 +1,144 @@
1
+ Metadata-Version: 2.4
2
+ Name: gitpure
3
+ Version: 0.1.1
4
+ Classifier: Development Status :: 4 - Beta
5
+ Classifier: Intended Audience :: Developers
6
+ Classifier: License :: OSI Approved :: MIT License
7
+ Classifier: Operating System :: OS Independent
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.8
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: Implementation :: CPython
16
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
17
+ Classifier: Programming Language :: Rust
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Topic :: Software Development :: Version Control
20
+ Classifier: Topic :: Software Development :: Version Control :: Git
21
+ Classifier: Typing :: Typed
22
+ Requires-Dist: pytest ; extra == 'test'
23
+ Provides-Extra: test
24
+ License-File: LICENSE
25
+ Summary: A Python git library implemented in Rust using gitoxide
26
+ Keywords: git,python,rust,gitoxide,version-control
27
+ Home-Page: https://github.com/cmeister2/gitpure
28
+ Author-email: Max Dymond <cmeister2@gmail.com>
29
+ Maintainer-email: Max Dymond <cmeister2@gmail.com>
30
+ License: MIT
31
+ Requires-Python: >=3.8
32
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
33
+ Project-URL: Homepage, https://github.com/cmeister2/gitpure
34
+ Project-URL: Documentation, https://github.com/cmeister2/gitpure
35
+ Project-URL: Repository, https://github.com/cmeister2/gitpure
36
+ Project-URL: Bug Reports, https://github.com/cmeister2/gitpure/issues
37
+ Project-URL: Source Code, https://github.com/cmeister2/gitpure
38
+
39
+ # gitpure
40
+
41
+ [![CI](https://github.com/cmeister2/gitpure/actions/workflows/CI.yml/badge.svg)](https://github.com/cmeister2/gitpure/actions/workflows/CI.yml)
42
+ [![PyPI version](https://badge.fury.io/py/gitpure.svg)](https://badge.fury.io/py/gitpure)
43
+ [![Python versions](https://img.shields.io/pypi/pyversions/gitpure.svg)](https://pypi.org/project/gitpure/)
44
+
45
+ A pure git Python library implemented in Rust using [gitoxide](https://github.com/Byron/gitoxide). This library provides fast and memory-efficient git operations through Python bindings.
46
+
47
+ ## Features
48
+
49
+ - **Fast**: Built with Rust and gitoxide for optimal performance
50
+ - **Memory efficient**: Leverages Rust's memory management
51
+ - **Cross-platform**: Works on Linux, macOS, and Windows
52
+ - **Pure Python interface**: Easy to use Python API
53
+ - **Safe**: Thread-safe operations with Rust's ownership model
54
+
55
+ ## Installation
56
+
57
+ Install from PyPI:
58
+
59
+ ```bash
60
+ pip install gitpure
61
+ ```
62
+
63
+ ## Quick Start
64
+
65
+ ```python
66
+ import gitpure
67
+
68
+ # Clone a repository (with worktree)
69
+ repo = gitpure.Repo.clone_from("https://github.com/user/repo.git", "/path/to/local/repo")
70
+
71
+ # Clone a bare repository
72
+ bare_repo = gitpure.Repo.clone_from("https://github.com/user/repo.git", "/path/to/bare/repo", bare=True)
73
+
74
+ # Get the git directory path
75
+ git_dir = repo.git_dir
76
+ print(f"Git directory: {git_dir}")
77
+ ```
78
+
79
+ ## Development
80
+
81
+ ### Prerequisites
82
+
83
+ - Python 3.8+
84
+ - Rust 1.70+
85
+ - maturin
86
+
87
+ ### Building from Source
88
+
89
+ ```bash
90
+ # Clone the repository
91
+ git clone https://github.com/cmeister2/gitpure.git
92
+ cd gitpure
93
+
94
+ # Create a virtual environment
95
+ python -m venv venv
96
+ source venv/bin/activate # On Windows: venv\Scripts\activate
97
+
98
+ # Install maturin
99
+ pip install maturin
100
+
101
+ # Build and install in development mode
102
+ maturin develop
103
+
104
+ # Or build wheel
105
+ maturin build --release
106
+ ```
107
+
108
+ ### Running Tests
109
+
110
+ ```bash
111
+ # Install test dependencies
112
+ pip install pytest
113
+
114
+ # Run tests
115
+ pytest tests/
116
+ ```
117
+
118
+ ## Architecture
119
+
120
+ gitpure is built on top of:
121
+
122
+ - **[gitoxide](https://github.com/Byron/gitoxide)**: A pure Rust implementation of git
123
+ - **[PyO3](https://github.com/PyO3/pyo3)**: Python bindings for Rust
124
+ - **[maturin](https://github.com/PyO3/maturin)**: Build tool for Python extensions written in Rust
125
+
126
+ ## Contributing
127
+
128
+ Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
129
+
130
+ ### Development Setup
131
+
132
+ 1. Fork the repository
133
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
134
+ 3. Make your changes
135
+ 4. Add tests for your changes
136
+ 5. Ensure all tests pass (`pytest`)
137
+ 6. Commit your changes (`git commit -m 'Add some amazing feature'`)
138
+ 7. Push to the branch (`git push origin feature/amazing-feature`)
139
+ 8. Open a Pull Request
140
+
141
+ ## License
142
+
143
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
144
+
@@ -0,0 +1,105 @@
1
+ # gitpure
2
+
3
+ [![CI](https://github.com/cmeister2/gitpure/actions/workflows/CI.yml/badge.svg)](https://github.com/cmeister2/gitpure/actions/workflows/CI.yml)
4
+ [![PyPI version](https://badge.fury.io/py/gitpure.svg)](https://badge.fury.io/py/gitpure)
5
+ [![Python versions](https://img.shields.io/pypi/pyversions/gitpure.svg)](https://pypi.org/project/gitpure/)
6
+
7
+ A pure git Python library implemented in Rust using [gitoxide](https://github.com/Byron/gitoxide). This library provides fast and memory-efficient git operations through Python bindings.
8
+
9
+ ## Features
10
+
11
+ - **Fast**: Built with Rust and gitoxide for optimal performance
12
+ - **Memory efficient**: Leverages Rust's memory management
13
+ - **Cross-platform**: Works on Linux, macOS, and Windows
14
+ - **Pure Python interface**: Easy to use Python API
15
+ - **Safe**: Thread-safe operations with Rust's ownership model
16
+
17
+ ## Installation
18
+
19
+ Install from PyPI:
20
+
21
+ ```bash
22
+ pip install gitpure
23
+ ```
24
+
25
+ ## Quick Start
26
+
27
+ ```python
28
+ import gitpure
29
+
30
+ # Clone a repository (with worktree)
31
+ repo = gitpure.Repo.clone_from("https://github.com/user/repo.git", "/path/to/local/repo")
32
+
33
+ # Clone a bare repository
34
+ bare_repo = gitpure.Repo.clone_from("https://github.com/user/repo.git", "/path/to/bare/repo", bare=True)
35
+
36
+ # Get the git directory path
37
+ git_dir = repo.git_dir
38
+ print(f"Git directory: {git_dir}")
39
+ ```
40
+
41
+ ## Development
42
+
43
+ ### Prerequisites
44
+
45
+ - Python 3.8+
46
+ - Rust 1.70+
47
+ - maturin
48
+
49
+ ### Building from Source
50
+
51
+ ```bash
52
+ # Clone the repository
53
+ git clone https://github.com/cmeister2/gitpure.git
54
+ cd gitpure
55
+
56
+ # Create a virtual environment
57
+ python -m venv venv
58
+ source venv/bin/activate # On Windows: venv\Scripts\activate
59
+
60
+ # Install maturin
61
+ pip install maturin
62
+
63
+ # Build and install in development mode
64
+ maturin develop
65
+
66
+ # Or build wheel
67
+ maturin build --release
68
+ ```
69
+
70
+ ### Running Tests
71
+
72
+ ```bash
73
+ # Install test dependencies
74
+ pip install pytest
75
+
76
+ # Run tests
77
+ pytest tests/
78
+ ```
79
+
80
+ ## Architecture
81
+
82
+ gitpure is built on top of:
83
+
84
+ - **[gitoxide](https://github.com/Byron/gitoxide)**: A pure Rust implementation of git
85
+ - **[PyO3](https://github.com/PyO3/pyo3)**: Python bindings for Rust
86
+ - **[maturin](https://github.com/PyO3/maturin)**: Build tool for Python extensions written in Rust
87
+
88
+ ## Contributing
89
+
90
+ Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
91
+
92
+ ### Development Setup
93
+
94
+ 1. Fork the repository
95
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
96
+ 3. Make your changes
97
+ 4. Add tests for your changes
98
+ 5. Ensure all tests pass (`pytest`)
99
+ 6. Commit your changes (`git commit -m 'Add some amazing feature'`)
100
+ 7. Push to the branch (`git push origin feature/amazing-feature`)
101
+ 8. Open a Pull Request
102
+
103
+ ## License
104
+
105
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -0,0 +1,52 @@
1
+ [build-system]
2
+ requires = ["maturin>=1.9,<2.0"]
3
+ build-backend = "maturin"
4
+
5
+ [project]
6
+ name = "gitpure"
7
+ description = "A Python git library implemented in Rust using gitoxide"
8
+ readme = "README.md"
9
+ requires-python = ">=3.8"
10
+ license = {text = "MIT"}
11
+ authors = [
12
+ {name = "Max Dymond", email = "cmeister2@gmail.com"}
13
+ ]
14
+ maintainers = [
15
+ {name = "Max Dymond", email = "cmeister2@gmail.com"}
16
+ ]
17
+ keywords = ["git", "python", "rust", "gitoxide", "version-control"]
18
+ classifiers = [
19
+ "Development Status :: 4 - Beta",
20
+ "Intended Audience :: Developers",
21
+ "License :: OSI Approved :: MIT License",
22
+ "Operating System :: OS Independent",
23
+ "Programming Language :: Python :: 3",
24
+ "Programming Language :: Python :: 3.8",
25
+ "Programming Language :: Python :: 3.9",
26
+ "Programming Language :: Python :: 3.10",
27
+ "Programming Language :: Python :: 3.11",
28
+ "Programming Language :: Python :: 3.12",
29
+ "Programming Language :: Python :: 3.13",
30
+ "Programming Language :: Python :: Implementation :: CPython",
31
+ "Programming Language :: Python :: Implementation :: PyPy",
32
+ "Programming Language :: Rust",
33
+ "Topic :: Software Development :: Libraries :: Python Modules",
34
+ "Topic :: Software Development :: Version Control",
35
+ "Topic :: Software Development :: Version Control :: Git",
36
+ "Typing :: Typed",
37
+ ]
38
+ dynamic = ["version"]
39
+
40
+ [project.urls]
41
+ Homepage = "https://github.com/cmeister2/gitpure"
42
+ Documentation = "https://github.com/cmeister2/gitpure"
43
+ Repository = "https://github.com/cmeister2/gitpure"
44
+ "Bug Reports" = "https://github.com/cmeister2/gitpure/issues"
45
+ "Source Code" = "https://github.com/cmeister2/gitpure"
46
+
47
+ [project.optional-dependencies]
48
+ test = ["pytest"]
49
+
50
+ [tool.maturin]
51
+ features = ["pyo3/extension-module"]
52
+
gitpure-0.1.0/Cargo.toml DELETED
@@ -1,22 +0,0 @@
1
- [package]
2
- name = "gitpure"
3
- version = "0.1.0"
4
- edition = "2024"
5
- authors = ["Max Dymond"]
6
- license = "MIT"
7
-
8
- [lib]
9
- name = "gitpure"
10
- crate-type = ["cdylib"]
11
-
12
- [dependencies]
13
- pyo3 = "0.25.0"
14
-
15
- [dependencies.gix]
16
- version = "0.73.0"
17
- default-features = false
18
- features = [
19
- "blocking-http-transport-reqwest-rust-tls",
20
- "parallel",
21
- "worktree-mutation"
22
- ]
gitpure-0.1.0/PKG-INFO DELETED
@@ -1,9 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: gitpure
3
- Version: 0.1.0
4
- Classifier: Programming Language :: Rust
5
- Classifier: Programming Language :: Python :: Implementation :: CPython
6
- Classifier: Programming Language :: Python :: Implementation :: PyPy
7
- Requires-Dist: pytest ; extra == 'test'
8
- Provides-Extra: test
9
- Requires-Python: >=3.8
@@ -1,20 +0,0 @@
1
- [build-system]
2
- requires = ["maturin>=1.9,<2.0"]
3
- build-backend = "maturin"
4
-
5
- [project]
6
- name = "gitpure"
7
- requires-python = ">=3.8"
8
- classifiers = [
9
- "Programming Language :: Rust",
10
- "Programming Language :: Python :: Implementation :: CPython",
11
- "Programming Language :: Python :: Implementation :: PyPy",
12
- ]
13
- dynamic = ["version"]
14
-
15
- [project.optional-dependencies]
16
- test = ["pytest"]
17
-
18
- [tool.maturin]
19
- features = ["pyo3/extension-module"]
20
-
File without changes
File without changes
File without changes
File without changes