Skip to content

upd #63

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open

upd #63

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
bbcf09a
PyEnvironment - first commit
lmbelo May 19, 2022
02ff935
Including the rc compilables to the project and redirecting the res o…
lmbelo May 19, 2022
34207b0
The Cmd instance builder was missing its result value
lmbelo May 19, 2022
78a588f
Create README.md
jimmckeeth May 19, 2022
5e9beda
Having the checkpipe option to false, it was breaking the routine
lmbelo May 22, 2022
87d7c5c
Merge branch 'main' of https://github.com/Embarcadero/PythonEnviroments
lmbelo May 22, 2022
21d5b9e
Update README.md
jimmckeeth Jun 8, 2022
7434e33
Including boss as dependency manager
lmbelo Jun 8, 2022
1a0e42e
Merge branch 'main' of https://github.com/Embarcadero/PythonEnviroments
lmbelo Jun 8, 2022
a32f122
default to release build
jimmckeeth Jun 15, 2022
1484b04
Merge pull request #1 from Embarcadero/main
atkins126 Jun 15, 2022
0a94f36
Adding an option to enable Python in a Delphi project and automatical…
lmbelo Jun 28, 2022
29d1402
Including an option to the Project menu to enable Pytho and select th…
lmbelo Jul 3, 2022
12e8b74
Extending the path settings to support the DEPLOY_PATH variable
lmbelo Jul 3, 2022
1a642c3
Patching the tmp dir for Android
lmbelo Jul 3, 2022
36b56b7
Including setup and activate overloads to skip Python version from pa…
lmbelo Jul 3, 2022
9c7d943
Renaming the IDE coding part of the new Python project definition and…
lmbelo Jul 3, 2022
2a0686a
Extending the Embedded environment to support the new Python project …
lmbelo Jul 3, 2022
2ef9f51
Updating projects references
lmbelo Jul 3, 2022
19c759c
Python setup and activate enhancements
lmbelo Jul 27, 2022
9b53be7
Including .res files to the gitignore
lmbelo Jul 27, 2022
73f1dff
Merge pull request #2 from Embarcadero/deploy
lmbelo Jul 27, 2022
2d3bdc7
Merge pull request #2 from Embarcadero/main
atkins126 Jul 29, 2022
bdb8892
Fixing the missed LFiles variable for Windows #3
lmbelo Aug 8, 2022
2f7c1e0
Fixing Android compiler hpp error #4
lmbelo Aug 8, 2022
9ae66d4
Merge pull request #1 from Embarcadero/main
peardox Aug 9, 2022
4be65b2
Add an Exit(Result); if Windoze
peardox Aug 9, 2022
f406260
Merge pull request #7 from peardox/findfix
lmbelo Aug 9, 2022
151c025
Small adjustment in the Python executable localizer for Windows
lmbelo Aug 9, 2022
009398c
Merge pull request #3 from Embarcadero/main
atkins126 Aug 10, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#
# Resource files are binaries containing manifest, project icon and version info.
# They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files.
#*.res
*.res
#
# Type library file (binary). In old Delphi versions it should be stored.
# Since Delphi 2009 it is produced from .ridl file and can safely be ignored.
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# PythonEnviroments
Components to simplify the deployment for Python environments for Delphi applications using [Python4Delphi](https://github.com/Embarcadero/Python4Delphi).

This powers the [Delphi Data Sciences Libraries](https://github.com/Embarcadero/P4D-Data-Sciences).

This is an early access preview, but you are encouraged to try it out, file bug reports, and add features. [Read more](https://blogs.embarcadero.com/?p=145025) and catch the live stream.
14 changes: 14 additions & 0 deletions boss-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"hash": "d41d8cd98f00b204e9800998ecf8427e",
"updated": "2022-06-08T16:29:50.4218028-07:00",
"installedModules": {
"https://github.com/embarcadero/python4delphi": {
"name": "python4delphi",
"version": "1.1",
"hash": "e3651527eab7f1eac8adac7917c6f5e1",
"artifacts": {},
"failed": false,
"changed": false
}
}
}
11 changes: 11 additions & 0 deletions boss.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"name": "PythonEnviroments",
"description": "Components to simplify the deployment for Python environments for Delphi applications using Python4Delphi.",
"version": "1.0.0",
"homepage": "https://github.com/Embarcadero/PythonEnviroments",
"mainsrc": "./src",
"projects": [],
"dependencies": {
"https://github.com/embarcadero/python4delphi": "^1.1"
}
}
Binary file added images/bmp/128/add_on.bmp
Binary file not shown.
Binary file added images/bmp/128/add_ons.bmp
Binary file not shown.
Binary file added images/bmp/128/embbeded.bmp
Binary file not shown.
Binary file added images/bmp/128/embbeded_310.bmp
Binary file not shown.
Binary file added images/bmp/128/embbeded_37.bmp
Binary file not shown.
Binary file added images/bmp/128/embbeded_38.bmp
Binary file not shown.
Binary file added images/bmp/128/embbeded_39.bmp
Binary file not shown.
Binary file added images/bmp/128/ensurepip.bmp
Binary file not shown.
Binary file added images/bmp/128/get_pip.bmp
Binary file not shown.
Binary file added images/bmp/128/local.bmp
Binary file not shown.
Binary file added images/bmp/16/add_on.bmp
Binary file not shown.
Binary file added images/bmp/16/add_ons.bmp
Binary file not shown.
Binary file added images/bmp/16/embbeded.bmp
Binary file not shown.
Binary file added images/bmp/16/embbeded_310.bmp
Binary file not shown.
Binary file added images/bmp/16/embbeded_37.bmp
Binary file not shown.
Binary file added images/bmp/16/embbeded_38.bmp
Binary file not shown.
Binary file added images/bmp/16/embbeded_39.bmp
Binary file not shown.
Binary file added images/bmp/16/ensurepip.bmp
Binary file not shown.
Binary file added images/bmp/16/get_pip.bmp
Binary file not shown.
Binary file added images/bmp/16/local.bmp
Binary file not shown.
Binary file added images/bmp/24/add_on.bmp
Binary file not shown.
Binary file added images/bmp/24/add_ons.bmp
Binary file not shown.
Binary file added images/bmp/24/embbeded.bmp
Binary file not shown.
Binary file added images/bmp/24/embbeded_310.bmp
Binary file not shown.
Binary file added images/bmp/24/embbeded_37.bmp
Binary file not shown.
Binary file added images/bmp/24/embbeded_38.bmp
Binary file not shown.
Binary file added images/bmp/24/embbeded_39.bmp
Binary file not shown.
Binary file added images/bmp/24/ensurepip.bmp
Binary file not shown.
Binary file added images/bmp/24/get_pip.bmp
Binary file not shown.
Binary file added images/bmp/24/local.bmp
Binary file not shown.
Binary file added images/bmp/32/add_on.bmp
Binary file not shown.
Binary file added images/bmp/32/add_ons.bmp
Binary file not shown.
Binary file added images/bmp/32/embbeded.bmp
Binary file not shown.
Binary file added images/bmp/32/embbeded_310.bmp
Binary file not shown.
Binary file added images/bmp/32/embbeded_37.bmp
Binary file not shown.
Binary file added images/bmp/32/embbeded_38.bmp
Binary file not shown.
Binary file added images/bmp/32/embbeded_39.bmp
Binary file not shown.
Binary file added images/bmp/32/ensurepip.bmp
Binary file not shown.
Binary file added images/bmp/32/get_pip.bmp
Binary file not shown.
Binary file added images/bmp/32/local.bmp
Binary file not shown.
Binary file added images/png/128x128/add_on.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/add_ons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/embbeded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/embbeded_310.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/embbeded_37.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/embbeded_38.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/embbeded_39.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/ensurepip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/get_pip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/128x128/local.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/add_on.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/add_ons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/embbeded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/embbeded_310.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/embbeded_37.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/embbeded_38.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/embbeded_39.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/ensurepip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/get_pip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/16x16/local.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/24x24/add_on.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/24x24/add_ons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/24x24/embbeded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/24x24/embbeded_310.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/24x24/embbeded_37.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/png/24x24/embbeded_38.png
Binary file added images/png/24x24/embbeded_39.png
Binary file added images/png/24x24/ensurepip.png
Binary file added images/png/24x24/get_pip.png
Binary file added images/png/24x24/local.png
Binary file added images/png/32x32/add_on.png
Binary file added images/png/32x32/add_ons.png
Binary file added images/png/32x32/embbeded.png
Binary file added images/png/32x32/embbeded_310.png
Binary file added images/png/32x32/embbeded_37.png
Binary file added images/png/32x32/embbeded_38.png
Binary file added images/png/32x32/embbeded_39.png
Binary file added images/png/32x32/ensurepip.png
Binary file added images/png/32x32/get_pip.png
Binary file added images/png/32x32/local.png
1 change: 1 addition & 0 deletions images/png/drawio/add_on_128.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2022-05-06T21:45:26.634Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36 Edg/101.0.1210.32" etag="VuEx_mEOJLK5sk6dLC4h" version="18.0.1" type="device"><diagram id="zUANLFhfW4aNNYR3wzFc" name="Page-1">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</diagram></mxfile>
Loading