Skip to content

Commit 624c522

Browse files
committed
🎆2.0.0 release📦Freeze of backend⚒️PyQt system tray for server🧹Example
Yak: ➕Added Grasshopper plugin freeze 2.0.0 Server: ➕PyQt6 system tray ui 🔁Replaced flask with uvicorn and starlette (because flask is not multiprocessor compatible and hence can't be killed or restartet from another process) ➕PyInstaller freeze (as always hell). Works only with one major version behind and manually added dlls from a conda environment of python 3.11.0. Setuptools needed to be dramatically reduced to avoid stupid platformdirs ImportError. Icons: ➕More resolutions of semio emblem icon Examples: 🧹Tidied scripts a bit 🧹Removed Plugin dependencies (Pufferfish and Lunchbox)
1 parent 2f31af1 commit 624c522

File tree

93 files changed

+1027
-237
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+1027
-237
lines changed

dotnet/Semio.Grasshopper/Semio.GrasshopperInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Semio.Grasshopper;
88

99
public class Semio_GrasshopperInfo : GH_AssemblyInfo
1010
{
11-
public override string Name => "Semio.Grasshopper";
11+
public override string Name => "semio";
1212
public override Bitmap Icon => Resources.semio_24x24;
1313
public override Bitmap AssemblyIcon => Resources.semio_24x24;
1414
public override string Description => "Grasshopper user interface for semio.";

dotnet/Semio/Semio.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1297,7 +1297,7 @@ public class Api : ICloneable
12971297
{
12981298
public Api()
12991299
{
1300-
Endpoint = "http://127.0.0.1:5000/graphql";
1300+
Endpoint = "http://127.0.0.1:5052/graphql";
13011301
Token = "";
13021302
Client = new GraphQLHttpClient(Endpoint, new NewtonsoftJsonSerializer());
13031303
}
0 Bytes
Binary file not shown.

examples/metabolism/base.gh

25.8 KB
Binary file not shown.

examples/metabolism/bridge.gh

-28.9 KB
Binary file not shown.

examples/metabolism/capital.gh

-13.7 KB
Binary file not shown.

examples/metabolism/capsule.gh

-14 KB
Binary file not shown.
-19.1 KB
Binary file not shown.

examples/metabolism/cylindricshaft.gh

2.57 KB
Binary file not shown.
5.47 KB
Binary file not shown.
29.9 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

examples/metabolism/shaft.gh

-41 KB
Binary file not shown.

icons/semio.ico

137 KB
Binary file not shown.

icons/semio_128x128.png

1.14 KB

icons/semio_16x16.png

444 Bytes

icons/semio_256x256.png

2.06 KB

icons/semio_32x32.png

524 Bytes

icons/semio_48x48.png

720 Bytes

python/server/.vscode/launch.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@
2424
"module": "pytest",
2525
"args": [],
2626
"justMyCode": true
27+
},
28+
{
29+
"name": "Python: Current File",
30+
"type": "python",
31+
"request": "launch",
32+
"program": "${file}",
33+
"console": "integratedTerminal",
34+
"justMyCode": true
2735
}
2836
]
2937
}
Binary file not shown.

python/server/Scripts/bzip2.dll

184 KB
Binary file not shown.

python/server/Scripts/c_rehash.pl

Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
#!C:\b\abs_12_dc77dam\croot\openssl_1694464964882\_build_env\Library\bin\perl
2+
3+
# WARNING: do not edit!
4+
# Generated by makefile from tools\c_rehash.in
5+
# Copyright 1999-2022 The OpenSSL Project Authors. All Rights Reserved.
6+
#
7+
# Licensed under the OpenSSL license (the "License"). You may not use
8+
# this file except in compliance with the License. You can obtain a copy
9+
# in the file LICENSE in the source distribution or at
10+
# https://www.openssl.org/source/license.html
11+
12+
# Perl c_rehash script, scan all files in a directory
13+
# and add symbolic links to their hash values.
14+
15+
my $dir = "C:\\Program Files\\Common Files\\ssl";
16+
my $prefix = "C:/Users/Ueli/.conda/envs/semio-server\\Library";
17+
18+
my $errorcount = 0;
19+
my $openssl = $ENV{OPENSSL} || "openssl";
20+
my $pwd;
21+
my $x509hash = "-subject_hash";
22+
my $crlhash = "-hash";
23+
my $verbose = 0;
24+
my $symlink_exists=eval {symlink("",""); 1};
25+
my $removelinks = 1;
26+
27+
## Parse flags.
28+
while ( $ARGV[0] =~ /^-/ ) {
29+
my $flag = shift @ARGV;
30+
last if ( $flag eq '--');
31+
if ( $flag eq '-old') {
32+
$x509hash = "-subject_hash_old";
33+
$crlhash = "-hash_old";
34+
} elsif ( $flag eq '-h' || $flag eq '-help' ) {
35+
help();
36+
} elsif ( $flag eq '-n' ) {
37+
$removelinks = 0;
38+
} elsif ( $flag eq '-v' ) {
39+
$verbose++;
40+
}
41+
else {
42+
print STDERR "Usage error; try -h.\n";
43+
exit 1;
44+
}
45+
}
46+
47+
sub help {
48+
print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
49+
print " -old use old-style digest\n";
50+
print " -h or -help print this help text\n";
51+
print " -v print files removed and linked\n";
52+
exit 0;
53+
}
54+
55+
eval "require Cwd";
56+
if (defined(&Cwd::getcwd)) {
57+
$pwd=Cwd::getcwd();
58+
} else {
59+
$pwd=`pwd`;
60+
chomp($pwd);
61+
}
62+
63+
# DOS/Win32 or Unix delimiter? Prefix our installdir, then search.
64+
my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
65+
$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
66+
67+
if (! -x $openssl) {
68+
my $found = 0;
69+
foreach (split /$path_delim/, $ENV{PATH}) {
70+
if (-x "$_/$openssl") {
71+
$found = 1;
72+
$openssl = "$_/$openssl";
73+
last;
74+
}
75+
}
76+
if ($found == 0) {
77+
print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
78+
exit 0;
79+
}
80+
}
81+
82+
if (@ARGV) {
83+
@dirlist = @ARGV;
84+
} elsif ($ENV{SSL_CERT_DIR}) {
85+
@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
86+
} else {
87+
$dirlist[0] = "$dir/certs";
88+
}
89+
90+
if (-d $dirlist[0]) {
91+
chdir $dirlist[0];
92+
$openssl="$pwd/$openssl" if (!-x $openssl);
93+
chdir $pwd;
94+
}
95+
96+
foreach (@dirlist) {
97+
if (-d $_ ) {
98+
if ( -w $_) {
99+
hash_dir($_);
100+
} else {
101+
print "Skipping $_, can't write\n";
102+
$errorcount++;
103+
}
104+
}
105+
}
106+
exit($errorcount);
107+
108+
sub copy_file {
109+
my ($src_fname, $dst_fname) = @_;
110+
111+
if (open(my $in, "<", $src_fname)) {
112+
if (open(my $out, ">", $dst_fname)) {
113+
print $out $_ while (<$in>);
114+
close $out;
115+
} else {
116+
warn "Cannot open $dst_fname for write, $!";
117+
}
118+
close $in;
119+
} else {
120+
warn "Cannot open $src_fname for read, $!";
121+
}
122+
}
123+
124+
sub hash_dir {
125+
my $dir = shift;
126+
my %hashlist;
127+
128+
print "Doing $dir\n";
129+
130+
if (!chdir $dir) {
131+
print STDERR "WARNING: Cannot chdir to '$dir', $!\n";
132+
return;
133+
}
134+
135+
opendir(DIR, ".") || print STDERR "WARNING: Cannot opendir '.', $!\n";
136+
my @flist = sort readdir(DIR);
137+
closedir DIR;
138+
if ( $removelinks ) {
139+
# Delete any existing symbolic links
140+
foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
141+
if (-l $_) {
142+
print "unlink $_\n" if $verbose;
143+
unlink $_ || warn "Can't unlink $_, $!\n";
144+
}
145+
}
146+
}
147+
FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
148+
# Check to see if certificates and/or CRLs present.
149+
my ($cert, $crl) = check_file($fname);
150+
if (!$cert && !$crl) {
151+
print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
152+
next;
153+
}
154+
link_hash_cert($fname) if ($cert);
155+
link_hash_crl($fname) if ($crl);
156+
}
157+
158+
chdir $pwd;
159+
}
160+
161+
sub check_file {
162+
my ($is_cert, $is_crl) = (0,0);
163+
my $fname = $_[0];
164+
165+
open(my $in, "<", $fname);
166+
while(<$in>) {
167+
if (/^-----BEGIN (.*)-----/) {
168+
my $hdr = $1;
169+
if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
170+
$is_cert = 1;
171+
last if ($is_crl);
172+
} elsif ($hdr eq "X509 CRL") {
173+
$is_crl = 1;
174+
last if ($is_cert);
175+
}
176+
}
177+
}
178+
close $in;
179+
return ($is_cert, $is_crl);
180+
}
181+
182+
sub compute_hash {
183+
my $fh;
184+
if ( $^O eq "VMS" ) {
185+
# VMS uses the open through shell
186+
# The file names are safe there and list form is unsupported
187+
if (!open($fh, "-|", join(' ', @_))) {
188+
print STDERR "Cannot compute hash on '$fname'\n";
189+
return;
190+
}
191+
} else {
192+
if (!open($fh, "-|", @_)) {
193+
print STDERR "Cannot compute hash on '$fname'\n";
194+
return;
195+
}
196+
}
197+
return (<$fh>, <$fh>);
198+
}
199+
200+
# Link a certificate to its subject name hash value, each hash is of
201+
# the form <hash>.<n> where n is an integer. If the hash value already exists
202+
# then we need to up the value of n, unless its a duplicate in which
203+
# case we skip the link. We check for duplicates by comparing the
204+
# certificate fingerprints
205+
206+
sub link_hash_cert {
207+
link_hash($_[0], 'cert');
208+
}
209+
210+
# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
211+
212+
sub link_hash_crl {
213+
link_hash($_[0], 'crl');
214+
}
215+
216+
sub link_hash {
217+
my ($fname, $type) = @_;
218+
my $is_cert = $type eq 'cert';
219+
220+
my ($hash, $fprint) = compute_hash($openssl,
221+
$is_cert ? "x509" : "crl",
222+
$is_cert ? $x509hash : $crlhash,
223+
"-fingerprint", "-noout",
224+
"-in", $fname);
225+
chomp $hash;
226+
chomp $fprint;
227+
return if !$hash;
228+
$fprint =~ s/^.*=//;
229+
$fprint =~ tr/://d;
230+
my $suffix = 0;
231+
# Search for an unused hash filename
232+
my $crlmark = $is_cert ? "" : "r";
233+
while(exists $hashlist{"$hash.$crlmark$suffix"}) {
234+
# Hash matches: if fingerprint matches its a duplicate cert
235+
if ($hashlist{"$hash.$crlmark$suffix"} eq $fprint) {
236+
my $what = $is_cert ? 'certificate' : 'CRL';
237+
print STDERR "WARNING: Skipping duplicate $what $fname\n";
238+
return;
239+
}
240+
$suffix++;
241+
}
242+
$hash .= ".$crlmark$suffix";
243+
if ($symlink_exists) {
244+
print "link $fname -> $hash\n" if $verbose;
245+
symlink $fname, $hash || warn "Can't symlink, $!";
246+
} else {
247+
print "copy $fname -> $hash\n" if $verbose;
248+
copy_file($fname, $hash);
249+
}
250+
$hashlist{$hash} = $fprint;
251+
}

python/server/Scripts/concrt140.dll

310 KB
Binary file not shown.

python/server/Scripts/ffi-7.dll

27.5 KB
Binary file not shown.

python/server/Scripts/ffi-8.dll

27.5 KB
Binary file not shown.

python/server/Scripts/libbz2.dll

184 KB
Binary file not shown.
3.25 MB
Binary file not shown.

python/server/Scripts/liblzma.dll

182 KB
Binary file not shown.
670 KB
Binary file not shown.

python/server/Scripts/lzcat.exe

455 KB
Binary file not shown.

python/server/Scripts/lzma.exe

455 KB
Binary file not shown.

python/server/Scripts/lzmadec.exe

296 KB
Binary file not shown.

python/server/Scripts/lzmainfo.exe

309 KB
Binary file not shown.

python/server/Scripts/msvcp140_1.dll

30.8 KB
Binary file not shown.
27.3 KB
Binary file not shown.

python/server/Scripts/openssl.exe

532 KB
Binary file not shown.

python/server/Scripts/sqlite3.dll

1.41 MB
Binary file not shown.

python/server/Scripts/sqlite3.exe

1.76 MB
Binary file not shown.

python/server/Scripts/tcl86t.dll

1.63 MB
Binary file not shown.

python/server/Scripts/tclsh.exe

68.5 KB
Binary file not shown.

python/server/Scripts/tclsh86.exe

68.5 KB
Binary file not shown.

python/server/Scripts/tclsh86t.exe

68.5 KB
Binary file not shown.

python/server/Scripts/tk86t.dll

1.42 MB
Binary file not shown.

python/server/Scripts/unlzma.exe

455 KB
Binary file not shown.

python/server/Scripts/unxz.exe

455 KB
Binary file not shown.

python/server/Scripts/vccorlib140.dll

330 KB
Binary file not shown.

python/server/Scripts/vcomp140.dll

180 KB
Binary file not shown.

python/server/Scripts/wish.exe

56.5 KB
Binary file not shown.

python/server/Scripts/wish86.exe

56.5 KB
Binary file not shown.

python/server/Scripts/wish86t.exe

56.5 KB
Binary file not shown.

python/server/Scripts/xz.exe

455 KB
Binary file not shown.

python/server/Scripts/xzcat.exe

455 KB
Binary file not shown.

python/server/Scripts/xzdec.exe

328 KB
Binary file not shown.

python/server/build.ps1

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.venv/Scripts/activate.ps1
2+
# copy-item "hooks\*" ".venv\Lib\site-packages\PyInstaller\hooks"
3+
pyinstaller --windowed --clean --noconfirm --name "semio" --add-data "../../icons/semio_16x16.png;icons/" --add-data "../../icons/semio_32x32.png;icons/" --add-data "../../icons/semio_48x48.png;icons/" --add-data "../../icons/semio_128x128.png;icons/" --add-data "../../icons/semio_256x256.png;icons/" --icon "..\..\icons\semio.ico" --hidden-import platformdirs server.py
4+
copy-item "Scripts\*" "dist\semio"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from PyInstaller.utils.hooks import collect_data_files
2+
3+
datas = collect_data_files('graphene_sqlalchemy')

0 commit comments

Comments
 (0)