Skip to content

Commit 32fceea

Browse files
committed
Initial commit: Python IDE with LSP support
0 parents  commit 32fceea

37 files changed

Lines changed: 3969 additions & 0 deletions
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Bug report
3+
about: Report a bug to help us improve
4+
title: '[Bug] '
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear description of the bug.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '...'
17+
3. See error
18+
19+
**Expected behavior**
20+
A clear description of what you expected.
21+
22+
**Screenshots**
23+
If applicable, add screenshots.
24+
25+
**Environment:**
26+
- Device: [e.g. Pixel 6]
27+
- Android version: [e.g. 13]
28+
- App version: [e.g. 1.0.0]
29+
30+
**Additional context**
31+
Any other context about the problem.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Feature request
3+
about: Suggest a new feature
4+
title: '[Feature] '
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem?**
11+
A clear description.
12+
13+
**Describe the solution you'd like**
14+
A clear description of what you want.
15+
16+
**Additional context**
17+
Any other context or screenshots.

.github/workflows/build.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Build Python IDE APK
2+
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
branches: [main, master]
8+
workflow_dispatch:
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
18+
- name: Clone Flutter SDK
19+
run: |
20+
cd $HOME
21+
git clone --depth 1 --branch stable https://github.com/flutter/flutter.git
22+
echo "$HOME/flutter/bin" >> $GITHUB_PATH
23+
24+
- name: Setup Flutter
25+
run: |
26+
flutter --version
27+
flutter config --no-analytics
28+
flutter precache
29+
30+
- name: Cache dependencies
31+
uses: actions/cache@v4
32+
with:
33+
path: |
34+
~/.pub-cache
35+
~/.gradle/caches
36+
~/.gradle/wrapper
37+
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
38+
restore-keys: |
39+
${{ runner.os }}-flutter-
40+
${{ runner.os }}-
41+
42+
- name: Get dependencies
43+
working-directory: ./python_ide
44+
run: flutter pub get
45+
46+
- name: Run static analysis
47+
working-directory: ./python_ide
48+
run: flutter analyze --no-fatal-infos --no-fatal-warnings
49+
50+
- name: Build debug APK
51+
working-directory: ./python_ide
52+
run: flutter build apk --debug
53+
54+
- name: Build release APK
55+
working-directory: ./python_ide
56+
run: flutter build apk --release
57+
58+
- name: Upload debug APK
59+
uses: actions/upload-artifact@v4
60+
with:
61+
name: debug-apk
62+
path: python_ide/build/app/outputs/flutter-apk/app-debug.apk
63+
retention-days: 7
64+
65+
- name: Upload release APK
66+
uses: actions/upload-artifact@v4
67+
with:
68+
name: release-apk
69+
path: python_ide/build/app/outputs/flutter-apk/app-release.apk
70+
retention-days: 30
71+
72+
- name: Upload build logs
73+
if: failure()
74+
uses: actions/upload-artifact@v4
75+
with:
76+
name: build-logs
77+
path: |
78+
python_ide/build/logs/
79+
python_ide/android/.gradle/**/*.log
80+
retention-days: 7

.github/workflows/validate.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Validate PR
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
7+
jobs:
8+
validate:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout repository
13+
uses: actions/checkout@v4
14+
15+
- name: Clone Flutter SDK
16+
run: |
17+
cd $HOME
18+
git clone --depth 1 --branch stable https://github.com/flutter/flutter.git
19+
echo "$HOME/flutter/bin" >> $GITHUB_PATH
20+
21+
- name: Setup Flutter
22+
run: |
23+
flutter --version
24+
flutter config --no-analytics
25+
26+
- name: Get dependencies
27+
working-directory: ./python_ide
28+
run: flutter pub get
29+
30+
- name: Analyze code
31+
working-directory: ./python_ide
32+
run: flutter analyze --fatal-infos --fatal-warnings

.gitignore

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Flutter
2+
*.class
3+
*.log
4+
*.pyc
5+
*.db
6+
*.pyc
7+
__pycache__/
8+
9+
.flutter-plugins
10+
.flutter-plugins-dependencies
11+
.packages
12+
.pub-cache/
13+
.pub/
14+
build/
15+
.flutter-plugins
16+
.fvm/
17+
18+
# Android
19+
android/.gradle/
20+
android/app/build/
21+
android/build/
22+
android/captures/
23+
android/gradle/wrapper/gradle-wrapper.jar
24+
25+
# IDE
26+
.idea/
27+
*.iml
28+
.vscode/
29+
*.swp
30+
*.swo
31+
*~
32+
.DS_Store
33+
34+
# Build outputs
35+
*.apk
36+
*.aab
37+
*.ap_
38+
*.dex
39+
*.jar
40+
*.so
41+
42+
# Local configuration
43+
local.properties
44+
*.local
45+
46+
# Environment files
47+
.env
48+
.env.*
49+
secrets.json
50+
credentials.json
51+
52+
# Generated files
53+
*.g.dart
54+
*.freezed.dart
55+
*.mocks.dart
56+
57+
# Build logs
58+
build/logs/
59+
*.log
60+
61+
# Temporary files
62+
*.tmp
63+
*.bak
64+
*.swp
65+
*~
66+
67+
# Gradle
68+
.gradle/
69+
gradle-app.setting
70+
71+
# Flutter SDK version
72+
.fvmrc

CONTRIBUTING.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Contributing to Python IDE
2+
3+
Thank you for your interest in contributing!
4+
5+
## How to Contribute
6+
7+
1. Fork the repository
8+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
9+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
10+
4. Push to the branch (`git push origin feature/amazing-feature`)
11+
5. Open a Pull Request
12+
13+
## Development Setup
14+
15+
```bash
16+
# Clone your fork
17+
git clone https://github.com/YOUR_USERNAME/python-ide.git
18+
cd python-ide
19+
20+
# Install Flutter dependencies
21+
flutter pub get
22+
23+
# Run the app
24+
flutter run
25+
26+
# Run static analysis
27+
flutter analyze
28+
```
29+
30+
## Code Style
31+
32+
- Follow Flutter/Dart conventions
33+
- Run `flutter analyze` before submitting PRs
34+
- Write descriptive commit messages

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Python IDE
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.

0 commit comments

Comments
 (0)