Add more control over how the connection and resolution is established

I need to have more control over whether the IPv4/IPv6 is used.
There are two parts to this.
Part 1: DNS
I'd like to have control over what IP protocol version is requested during the DNS resolution. This means hinting whether the A/AAAA records are requested during the resolution. The GaiResolver relies on the getaddrinfo under the hood, which has rich functionality allowing all the necessary flexibility, however, the API currently doesn't expose any of that. I know this might be due to the cross-platform compatibility needs, but I wonder what does it take to land it.
Part 2: Explicit IPv4 / IPv6 / Dual-stack sockets use in HttpConnector
The HttpConnector has a lot of logic built-in to support both IPv4 and IPv6 sockets. However, as of right now, there's no way to explicitly make it use only IPv4, IPv6 or dual-stack. Given its internal complexity, I think the best route would be implementing a custom connector. I still wanted to mention it though, because it might be valuable feedback, and would welcome it if this functionality was available in the crate.

I think you're right, there isn't really a way to pick that generally. You can specify to bind to a certain local address, and its IP version will force that decision. Additionally, "dual stack" is assumed unless binding disables it, or you disable the "happy eyeballs" timeout.

Regarding DNS, could you propose more? It's possible to provide your own resolver, which I assume could do exactly what you want. If proposing to add something specifically to GaiResolver, what would it be?

If proposing to add something specifically to GaiResolver, what would it be?

Exposing more of its bit would certainly help with building custom resolvers. If not that - a simple setting to request an A or AAAA record (or no preference) would be just enough for my needs. This can be achieved via setting ai_family of the getaddrinfo call to the matching value. With portability in mind, on Windows this is done via the addrinfoexW struct of a GetAddrInfoExW call.

Exposing more of its bit would certainly help with building custom resolvers.

Exactly which bits is what I'm asking :)
Note that GaiResolver is just using std::net::ToSocketAddrs, essentially, so we can't add extra flags. It should be straight forward to create a new resolver that uses libc::getaddrinfo directly.

Exposing more of its bit would certainly help with building custom resolvers.

Exactly which bits is what I'm asking :)
Note that GaiResolver is just using std::net::ToSocketAddrs, essentially, so we can't add extra flags. It should be straight forward to create a new resolver that uses libc::getaddrinfo directly.

It contains a thread pool, right? Exposing that would be useful. If it was exposed in such a way that I can swap out the std::net::ToSocketAddrs with the custom implementation - I'd be satisfied.

It utilizes Tokio's "blocking" threads, via tokio::task::spawn_blocking. The implementation is small.

Indeed, just checked - I think it's trivial to implement. There's a lot of boilerplate with regard to futures though.
I'll take a stab at building a custom resolver.

One of the notable things is the lack of impl From<Name> for String - which makes it a bit less efficient to work with.

Implemented a custom resolver that fits my needs: https://github.com/MOZGIII/hyper-system-resolver
I've utilized a backround::Resolver and it seems to be a good fit for being upstreamed into hyper. The main value that it provides is that it helps to wrap any blocking/spawnable implementation of the resolver with some non-impl and non-Box<dyn ...> types - which is a pretty common operation.
I've also discovered that it's possible to perform name resolution using system resolvers in the async fashion on Linux and Windows. Would be interesting to dig deeper into those.

I've also discovered that it's possible to perform name resolution using system resolvers in the async fashion on Linux and Windows.

I believe getaddrinfo_a is implemented using threads so it may not be a clear win (though possibly this is dated information). On Apple platforms DNSServiceGetAddrInfo or DNSServiceQueryRecord can be used to do async resolution.
Does hyper intend to support the HTTPS RR? If so that might be an opportunity to make the interface less tied to single-shot name to A and AAAA resolution.


New stuff

This is a draft with new primitive recursive function examples from @Casteran and split up into a Gödel part and an Ackermann part for easier reuse. At least a draft PR is needed to get continuous integration.

@Casteran you can now keep pushing changes to the new-stuff branch until you think it is ready to be merged - then you change the status of this pull request from "Draft" to "Ready for review". Our default for continuous integration is to only run when there is a pull request.

@Casteran you can now keep pushing changes to the new-stuff branch until you think it is ready to be merged - then you change the status of this pull request from "Draft" to "Ready for review". Our default for continuous integration is to only run when there is a pull request.

OK, since Ackermann is a big library (39 .v files, >= 30K lines), I will propose several PRs (one per big revised file).
I’m planning to propose also two non-trivial exercises (which may require a lot of lemmas). It would be nice to ask for contributions(in the form of PRs)  in order to publish their solution.

Prove that the Fibonacci function is PR
Prove that the Ackermann function is not PR

I can add two files Fib_project.v  and Ack_project.v (in the style of coq-art’s exercises, and an advertising in README.md

Le 7 janv. 2021 à 22:15, Karl Palmskog<EMAIL_ADDRESS>a écrit :
@Casteran https://github.com/Casteran you can now keep pushing changes to the new-stuff branch until you think it is ready to be merged - then you change the status of this pull request from "Draft" to "Ready for review". Our default for continuous integration is to only run when there is a pull request.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/coq-community/goedel/pull/5#issuecomment-756388662, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJW6FCVHBPQY7E4LGODKLFTSYYP6NANCNFSM4VZPVOGA.

OK, since Ackermann is a big library (39 .v files, >= 30K lines), I will propose several PRs (one per big revised file).
I’m planning to propose also two non-trivial exercises (which may require a lot of lemmas). It would be nice to ask for contributions(in the form of PRs)  in order to publish their solution.

Prove that the Fibonacci function is PR
Prove that the Ackermann function is not PR

I can add two files Fib_project.v  and Ack_project.v (in the style of coq-art’s exercises, and an advertising in README.md

Le 7 janv. 2021 à 22:15, Karl Palmskog<EMAIL_ADDRESS>a écrit :
@Casteran https://github.com/Casteran you can now keep pushing changes to the new-stuff branch until you think it is ready to be merged - then you change the status of this pull request from "Draft" to "Ready for review". Our default for continuous integration is to only run when there is a pull request.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/coq-community/goedel/pull/5#issuecomment-756388662, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJW6FCVHBPQY7E4LGODKLFTSYYP6NANCNFSM4VZPVOGA.

@Casteran so you mean we should merge this pull request now and you will do additional ones later?
The advantage of merging the current changes (the split packages) now is that we can start to use coq-ackermann as a dependency in coq-hydra-battles, and continuous integration will check with the latest Ackermann version via Git whenever you commit to Hydra Battles.

@Casteran so you mean we should merge this pull request now and you will do additional ones later?
The advantage of merging the current changes (the split packages) now is that we can start to use coq-ackermann as a dependency in coq-hydra-battles, and continuous integration will check with the latest Ackermann version via Git whenever you commit to Hydra Battles.

Well, that would be fine.

Le 8 janv. 2021 à 11:18, Karl Palmskog<EMAIL_ADDRESS>a écrit :
@Casteran https://github.com/Casteran so you mean we should merge this pull request now and you will do additional ones later?
The advantage of merging the current changes (the split packages) now is that we can start to use coq-ackermann as a dependency in coq-hydra-battles, and continuous integration will check with the latest Ackermann version via Git whenever you commit to Hydra Battles.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/coq-community/goedel/pull/5#issuecomment-756674489, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJW6FCUGFKQF67J33DJEWC3SY3LX3ANCNFSM4VZPVOGA.

Well, that would be fine.

Le 8 janv. 2021 à 11:18, Karl Palmskog<EMAIL_ADDRESS>a écrit :
@Casteran https://github.com/Casteran so you mean we should merge this pull request now and you will do additional ones later?
The advantage of merging the current changes (the split packages) now is that we can start to use coq-ackermann as a dependency in coq-hydra-battles, and continuous integration will check with the latest Ackermann version via Git whenever you commit to Hydra Battles.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/coq-community/goedel/pull/5#issuecomment-756674489, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJW6FCUGFKQF67J33DJEWC3SY3LX3ANCNFSM4VZPVOGA.


Merge main into dev 1.22 to sync and fix conflicts

This PR fixes the integration branch conflicts and syncs it with main.
/cc @ashnehete @carlisia @chrisnegus @ritpanjw

/approve

/lgtm


refactor: remove usage of defaultdict

Using defaultdict is somewhat discouraged since it is really easy to hide what is happening. I've switched to using .setdefault and .get, which are explicit and don't require a special import or custom dict.

📚 Documentation preview 📚: https://dependency-groups--5.org.readthedocs.build/en/5/

I don't mind this change at all -- both idioms read fine to me -- but we've got a mypy error. I'll try to make time later today to see what's up with that. I'm guessing that one of those defaultdicts was giving some type information which we now need in an annotation.

I can check it in a few minutes.

Yes, I think it was getting list[Any] before, due to the item in the defaultdict constructor. I would have expected it to still complain before, since it shouldn't infer the Any, but it didn't.

Thanks for the quick fix; onto the other PRs! :smile:


Incorrect Endpoint mentioned in the Credential Offer Flow example

What's wrong?
In the specification of the Credential Offer Flow inside the credential.issuance.protocol.md the given endpoint /credentials does not match the the textual description stating the /offers endpoint instead.
Why is this a bug?
The text mentions a different endpoint than the one used in the example.
How could it be fixed?
Correct the endpoint in the example to /offers.
More context

@nikschul - can you check if this is still relevant? I think #102 fixed this by reducing the example to the request body.
https://eclipse-dataspace-dcp.github.io/decentralized-claims-protocol/#credential-offer-api


Handle masking more consistently (fix #52)

This will fix #52 by introducing _endpoint_conditioned_sample to all diffusion types and forcing mask inheritance from x_t. I also added some tests and code cleanups. This will supersede #53.

Does this for one of my cases, where P21 is a UniformDiscreteDiffusion, and simseq_batch is not masked.  It was a careless mistake. I've update the PR and it should work now.

Can we merge this?

@bicycle1885 We might want to modify show to avoid this trap:


Lost PDO, other extensions in Apache

In a previous issue, I've reinstalled the +apxs2=/usr/bin/apxs2 for php-5.4.34. Apparently phpbrew does the right thing and sees the manifest in build and rebuilds cleanly all that was installed before. Except now I've lost PDO and other extensions that the CLI reports that I have.
OK, no need to panic, this is phpbrew so I can switch to other variants. Drupal also reports that PDO connections are broken. Hmm. I run phpbrew ext install pdo. Many times it returns a make error, but at this point it returns it is enabled. That's good, except a known-good Drupal app now returns a database error. Googling the error comes up with the same answer: the pdo_mysql extension must be missing from your PHP installation. This is about the same problem as my earlier issue. Except I'm on deadline and I must get back to what used to be a known good. I've purged a version and did a fresh install of another php version with the +pdo +apxs2, etc. Same result in that every app that uses an extension that I have cannot be found by apache.
the output of php -r "phpinfo();" | grep pdo yields:
PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'pdo.so' in Unknown on line 0
Warning: PHP Startup: Invalid library (maybe not a PHP library) 'pdo.so' in Unknown on line 0
Configure Command =>  './configure'  '--prefix=/home/sam/.phpbrew/php/php-5.4.33' '--with-config-file-path=/home/sam/.phpbrew/php/php-5.4.33/etc' '--with-config-file-scan-dir=/home/sam/.phpbrew/php/php-5.4.33/var/db' '--with-pear=/home/sam/.phpbrew/php/php-5.4.33/lib/php' '--disable-all' '--enable-phar' '--enable-session' '--enable-short-tags' '--enable-tokenizer' '--with-pcre-regex' '--with-zlib=/usr' '--with-libdir=lib/x86_64-linux-gnu' '--enable-pdo' '--with-apxs2=/usr/bin/apxs2' '--enable-dom' '--enable-libxml' '--enable-simplexml' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter' '--with-xsl' '--with-libxml-dir=/usr'
/home/sam/.phpbrew/php/php-5.4.33/var/db/pdo.ini
That first line throws me as I I'm unsure how to remove that 'pdo.so' within phpbrew. Haven't found that in Google anywhere.

What's your install command? can you show me the complete command?
If you enabled pdo variant, you will also need to enable some more variants like sqlite, mysql or pgsql, because PDO is just an abstract layer of database.

phpbrew ext install pdo is the one that produced above.
That  first line throws me. Reading your kind reply I then executed
phpbrew ext install mysql
This returns the mystery line and it shows it is failing to run make -C
Warning: PHP Startup: Invalid library (maybe not a PHP library) 'pdo.so' in Unknown on line 0
===> Installing mysql extension...
Log stored at: /home/sam/.phpbrew/build/php-5.4.33/ext/mysql/build.log
Changing directory to /home/sam/.phpbrew/build/php-5.4.33/ext/mysql
===> Running make clean: make -C /home/sam/.phpbrew/build/php-5.4.33/ext/mysql --quiet clean
===> Phpize...
===> Configuring...
===> Building...
===> Running make all: make -C /home/sam/.phpbrew/build/php-5.4.33/ext/mysql  all  >> /home/sam/.phpbrew/build/php-5.4.33/ext/mysql/build.log 2>&1
Command failed: make -C /home/sam/.phpbrew/build/php-5.4.33/ext/mysql  all  >> /home/sam/.phpbrew/build/php-5.4.33/ext/mysql/build.log 2>&1 returns

Hi @sam452
I need to know the command you install php, e.g.
phpbrew install 5.4.33 .....???

Warning: PHP Startup: Invalid library (maybe not a PHP library) 'pdo.so' in Unknown on line 0

This is for sure because PDO extension can't be compiled as shared extension.

 Looking at my bash history:
phpbrew install php-5.4.33 +pdo +apxs2=/usr/bin/apxs2
I will purge and try one with mysql in addition.

The one you used is not enough for real world use, you need to install php with all the variants you might need.  +default will help you a lot and it can save your time. if you want to run Drupal, you will also need +int and +icu

Yes, I got the json error even though I have the latest json. Looking around I find where you suggest to turn off phpbrew and let the system php take over but it does not also have the json either.
php -r 'var_dump(json_decode("{}"));';
Fatal error: Call to undefined function json_decode() in Command line code on line 1
With phpbrew off, how should I let the system php know to use the json?

What's your linux distribution? if you're using Ubuntu, you can try apt-get install php5-json or apt-get install php-json

Yes, 14.04 ubuntu. I already have the latest version. System PHP.ini for CLI is having trouble with failing to load a dynamic library. Googling now, thx.


updated podspec version for RxSwift, pod update, few Xcode warnings

When using 'RxSegue' with RxSwift 3.0.0+ and RxCocoa 3.0.0+, cocoapods fails since it RxSwift 2.0
TODO:

create git tag fo 1.0.1
push 1.0.1 spec to pod trunk
[BONUS] add a short description on github

Thanks man! 👍 just published  pod spec 🚀


basemap with mac m2 issues

Hello I am not an expert in programming so I am kindly asking for some help. I just purchased a new laptop (Macbook pro chip M2 pro). I want to install all the programs and packages I used to work with my old macbook air. So I am trying to install basemap (I already tried to install python 3.5 and is already installed in an environment) but i am still getting this error:
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-ain2mraz/matplotlib/
Can I get some help? I have no idea how to solve it, i already installed as well cython but still I don't get any success to install basemap. I want to work with this new laptop to finalize a paper and I really need this package!
Thanks in advance

Hi @swiftienimbus! Can you provide the whole traceback that you get when trying to install basemap? With a bit more info I can try to help you see where the problem is coming from.
Note that we do not have basemap wheels for MacOS on PyPI, so the installation is not simply to download the wheel, but your computer needs to build the wheel from source, which can fail due to several reasons (GEOS missing, GEOS not being found, lack of C/C++ compiler, etc.).
Since you are using a brand new computer, I would also recommend that you try to use a newer Python version (3.8+). Python 3.7 will be EOL this June 2023, Python 3.5 has been EOL for almost 3 years.

Hi @swiftienimbus! Can you provide the whole traceback that you get when trying to install basemap? With a bit more info I can try to help you see where the problem is coming from.
Note that we do not have basemap wheels for MacOS on PyPI, so the installation is not simply to download the wheel, but your computer needs to build the wheel from source, which can fail due to several reasons (GEOS missing, GEOS not being found, lack of C/C++ compiler, etc.).
Since you are using a brand new computer, I would also recommend that you try to use a newer Python version (3.8+). Python 3.7 will be EOL this June 2023, Python 3.5 has been EOL for almost 3 years.

Thank you for your reply so I installed python 3.5 in an environment because I thought maybe this way basemap would be installed with less issues. I tried to use the following:
pip3 install basemap
I got this in my terminal:
"Defaulting to user installation because normal site-packages is not writeable
Collecting basemap
Using cached basemap-1.3.7.zip (156 kB)
WARNING: Value for prefixed-purelib does not match. Please report this to https://github.com/pypa/pip/issues/10151
distutils: /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/normal/lib/python3.9/site-packages
sysconfig: /Library/Python/3.9/site-packages
WARNING: Value for prefixed-platlib does not match. Please report this to https://github.com/pypa/pip/issues/10151
distutils: /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/normal/lib/python3.9/site-packages
sysconfig: /Library/Python/3.9/site-packages
WARNING: Additional context:
user = False
home = None
root = None
prefix = '/private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/normal'
WARNING: Value for prefixed-purelib does not match. Please report this to https://github.com/pypa/pip/issues/10151
distutils: /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/overlay/lib/python3.9/site-packages
sysconfig: /Library/Python/3.9/site-packages
WARNING: Value for prefixed-platlib does not match. Please report this to https://github.com/pypa/pip/issues/10151
distutils: /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/overlay/lib/python3.9/site-packages
sysconfig: /Library/Python/3.9/site-packages
WARNING: Additional context:
user = False
home = None
root = None
prefix = '/private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/overlay'
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Collecting matplotlib<3.8,>=1.5
Using cached matplotlib-3.7.1-cp39-cp39-macosx_11_0_arm64.whl (7.3 MB)
Collecting basemap-data<1.4,>=1.3.2
Using cached basemap_data-1.3.2-py2.py3-none-any.whl (30.5 MB)
Collecting pyproj<3.6.0,>=1.9.3
Using cached pyproj-3.5.0-cp39-cp39-macosx_11_0_arm64.whl (5.7 MB)
Collecting numpy<1.25,>=1.22
Using cached numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl (13.9 MB)
Collecting pyshp<2.4,>=1.2
Using cached pyshp-2.3.1-py2.py3-none-any.whl (46 kB)
Collecting packaging>=20.0
Using cached packaging-23.1-py3-none-any.whl (48 kB)
Collecting python-dateutil>=2.7
Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting contourpy>=1.0.1
Using cached contourpy-1.0.7-cp39-cp39-macosx_11_0_arm64.whl (229 kB)
Collecting cycler>=0.10
Using cached cycler-0.11.0-py3-none-any.whl (6.4 kB)
Collecting fonttools>=4.22.0
Using cached fonttools-4.39.4-py3-none-any.whl (1.0 MB)
Collecting pillow>=6.2.0
Using cached Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl (3.1 MB)
Collecting pyparsing>=2.3.1
Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Collecting importlib-resources>=3.2.0
Using cached importlib_resources-5.12.0-py3-none-any.whl (36 kB)
Collecting kiwisolver>=1.0.1
Using cached kiwisolver-1.4.4-cp39-cp39-macosx_11_0_arm64.whl (63 kB)
Collecting zipp>=3.1.0
Using cached zipp-3.15.0-py3-none-any.whl (6.8 kB)
Collecting certifi
Using cached certifi-2023.5.7-py3-none-any.whl (156 kB)
Requirement already satisfied: six>=1.5 in /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages (from python-dateutil>=2.7->matplotlib<3.8,>=1.5->basemap) (1.15.0)
Building wheels for collected packages: basemap
Building wheel for basemap (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: /Library/Developer/CommandLineTools/usr/bin/python3 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/tmpj_f3u4q1
cwd: /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-install-th9cijlq/basemap_635cfaa5d28d4a8b90320b570fa282d8
Complete output (32 lines):
setup.py:58: RuntimeWarning: Cannot find GEOS library and/or headers in standard locations ('/Users/chateau/local', '/Users/chateau', '/usr/local', '/usr', '/opt/local', '/opt', '/sw'). Please install the corresponding packages using your software management system or set the environment variable GEOS_DIR to point to the location where GEOS is installed (for example, if 'geos_c.h' is in '/usr/local/include' and 'libgeos_c' is in '/usr/local/lib', then you need to set GEOS_DIR to '/usr/local'
warnings.warn(" ".join([
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.9-universal2-3.9
creating build/lib.macosx-10.9-universal2-3.9/mpl_toolkits
copying src/mpl_toolkits/init.py -> build/lib.macosx-10.9-universal2-3.9/mpl_toolkits
creating build/lib.macosx-10.9-universal2-3.9/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/cm.py -> build/lib.macosx-10.9-universal2-3.9/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/init.py -> build/lib.macosx-10.9-universal2-3.9/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/test.py -> build/lib.macosx-10.9-universal2-3.9/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/diagnostic.py -> build/lib.macosx-10.9-universal2-3.9/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/proj.py -> build/lib.macosx-10.9-universal2-3.9/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/solar.py -> build/lib.macosx-10.9-universal2-3.9/mpl_toolkits/basemap
running build_ext
creating build/temp.macosx-10.9-universal2-3.9
creating build/temp.macosx-10.9-universal2-3.9/src
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Headers -arch arm64 -arch x86_64 -Werror=implicit-function-declaration -Wno-error=unreachable-code -I/private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/overlay/lib/python3.9/site-packages/numpy/core/include -I/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/include/python3.9 -c src/_geoslib.c -o build/temp.macosx-10.9-universal2-3.9/src/_geoslib.o
In file included from src/_geoslib.c:744:
In file included from /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/overlay/lib/python3.9/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/overlay/lib/python3.9/site-packages/numpy/core/include/numpy/ndarrayobject.h:12:
In file included from /private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/overlay/lib/python3.9/site-packages/numpy/core/include/numpy/ndarraytypes.h:1969:
/private/var/folders/gm/t4q3k1t913b67p1g_j4_gp840000gn/T/pip-build-env-yqy7hxyn/overlay/lib/python3.9/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: "Using deprecated NumPy API, disable it with "          "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it with "
^
src/_geoslib.c:745:10: fatal error: 'geos_c.h' file not found
#include "geos_c.h"
^~~~~~~~~~
1 warning and 1 error generated.
error: command '/usr/bin/clang' failed with exit code 1
ERROR: Failed building wheel for basemap
Failed to build basemap
ERROR: Could not build wheels for basemap which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 21.2.4; however, version 23.1.2 is available.
You should consider upgrading via the '/Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip' command."
Should I install geos? or something else?
I am using M2 pro chip. I was trying to install the python version I wanted for this environment with pyenv but now when I type
python --version
I get this :
pyenv: python: command not found
The `python' command exists in these Python versions:
3.5.10
Note: See 'pyenv help global' for tips on allowing both
python2 and python3 to be found.
Sorry for the inconvenience! your help is appreciated!

From your traceback, the issue is coming from the missing GEOS library. In the precompiled wheels, a copy of GEOS is bundled for basemap use. In your case, since there are no wheels for MacOS, you need to build from the source distribution, and GEOS needs to be present somewhere in your system so that pip can try to build the _geoslib extension.
GEOS should be easily installable on MacOS, e.g. through Homebrew. Once you have it, you will need to find out its root installation folder, and define the GEOS_DIR environment variable with this folder path before calling pip to install basemap.

Yes thanks, I already did those steps, I checked the version in my current environment and is
Python 3.5.10
Do you suggest changing

to the python 3.9 version?
I am still getting this error (I attach the screenshots)

Unless you have a real reason to use Python 3.5, better switch to at least Python 3.9. Otherwise you will have to face these problems not only with basemap but almost with any package, since you will not find MacOS ARM64 wheel packages for any dependency and your system will need to build everything always from source.
Once you have switched to at least Python 3.9, you can try again what you already tried for Python 3.5 and, if the problem persists, feel free to copy the traceback here and I will try to help you.

Hello thank you so much for your help!
I actually tried to solve that installing a new version of python (i am using pyenv, but i am not very familiar with this, and is giving me problems when I start a new shell window). I tried to install python 3.9 in the nimbus environment and at the end everything was successful until when I want to import basemap via spyder or jupyter notebook, it's giving me this error:

I am not sure if is related to something to the basemap path's that spyder and jupyter notebook can't recognize is already installed, because when I run the program in terminal via:
python scriptfile.py I don't get errors while importing basemap, (but still i am having errors in other parts which would be more easy to see if I could visualize and import everything correctly in spyder)
should I do something else? do you recommend installing python versions with pyenv? or how can i solve this issue related to importing the package in spyder? Thanks again in advance!

Hi @swiftienimbus! For the problem with Spyder and Jupyter notebooks I cannot provide much help because I do not use them regularly. Normally I play around directly using IPython in my console or by running scripts without interaction.
From what you describe, since your scriptfile.py can import basemap without error, I would assume that you installed basemap successfully "somewhere", but it might be that Spyder and Jupyter are installed in a different Python environment where you do not have basemap installed.
Using pyenv is perfectly normal on MacOs and GNU/Linux, I think it is an usual way to have Python installations. Also on Windows I use pyenv-win, which mimics the behaviour of pyenv but on Windows.

Unless you really know what you are doing, strongly recommend you install Python and Python packages with mamba/conda.  You are mixing up versions - basemap has not been an mpl_toolkit for over 10 years.  Mamba/conda are not perfect but they take most of the pain out of doing this sort of thing away, particularly for a package like basemap that depends on external C or FORTRAN libraries.

Hello again @molinav
Yes actually appareantly it was installed within the pyenv folder, but i am not sure why, when I try to install it without opening an environrenmet with pyenv, it does not allow me. I attach a screenshot of what I get after typyin pip install basemap:

Is there a way to call the basemap installation or folders somehow to the python environment I created with conda ? sorry for my (maybe) obvious questions, i am a bit new on this stuff

@jklymak The python -m pip install basemap will need a working C compiler in this specific situation because pip will not find MacOS ARM64 wheels, so it will pick the sdist and then it will try to compile the _geoslib.pyx wrapper extension. For Windows, GNU/Linux and MacOS x64 the C compiler is not needed, but for these architectures there is already conda packages for basemap anyway.

@jklymak On my Windows x64, basemap (1.3.7) and its dependency basemap-data (1.3.2) are resolved correctly for Python 3.11 (though I am using conda instead of mamba):
(base) C:\Users\vic>conda create -n test python=3.11 basemap
Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 23.1.0
  latest version: 23.3.1

Please update conda by running

    $ conda update -n base -c conda-forge conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.3.1

## Package Plan ##

  environment location: C:\Users\vic\.conda\envs\test

  added / updated specs:
    - basemap
    - python=3.11

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    basemap-1.3.7              |  py311h4cd37dd_0         280 KB  conda-forge
    basemap-data-1.3.2         |     pyhd8ed1ab_3        24.1 MB  conda-forge
    brotli-1.0.9               |       hcfcfb64_8          19 KB  conda-forge
    brotli-bin-1.0.9           |       hcfcfb64_8          22 KB  conda-forge
    bzip2-1.0.8                |       h8ffe710_4         149 KB  conda-forge
    ca-certificates-2023.5.7   |       h56e8100_0         145 KB  conda-forge
    certifi-2023.5.7           |     pyhd8ed1ab_0         149 KB  conda-forge
    contourpy-1.0.7            |  py311h005e61a_0         167 KB  conda-forge
    cycler-0.11.0              |     pyhd8ed1ab_0          10 KB  conda-forge
    fonttools-4.39.4           |  py311ha68e1ae_0         2.2 MB  conda-forge
    freetype-2.12.1            |       h546665d_1         486 KB  conda-forge
    geos-3.11.2                |       h1537add_0         1.3 MB  conda-forge
    intel-openmp-2023.1.0      |   h57928b3_46319         2.5 MB  conda-forge
    kiwisolver-1.4.4           |  py311h005e61a_1          58 KB  conda-forge
    krb5-1.20.1                |       heb0366b_0         701 KB  conda-forge
    lcms2-2.15                 |       h3e3b177_1         487 KB  conda-forge
    lerc-4.0.0                 |       h63175ca_0         190 KB  conda-forge
    libblas-3.9.0              |     16_win64_mkl         5.6 MB  conda-forge
    libbrotlicommon-1.0.9      |       hcfcfb64_8          67 KB  conda-forge
    libbrotlidec-1.0.9         |       hcfcfb64_8          34 KB  conda-forge
    libbrotlienc-1.0.9         |       hcfcfb64_8         724 KB  conda-forge
    libcblas-3.9.0             |     16_win64_mkl         5.6 MB  conda-forge
    libcurl-8.0.1              |       h68f0423_0         304 KB  conda-forge
    libdeflate-1.18            |       hcfcfb64_0         149 KB  conda-forge
    libexpat-2.5.0             |       h63175ca_1         135 KB  conda-forge
    libffi-3.4.2               |       h8ffe710_5          41 KB  conda-forge
    libhwloc-2.9.1             |       h51c2c0f_0         2.4 MB  conda-forge
    libiconv-1.17              |       h8ffe710_0         698 KB  conda-forge
    libjpeg-turbo-<IP_ADDRESS>      |       hcfcfb64_0         672 KB  conda-forge
    liblapack-3.9.0            |     16_win64_mkl         5.6 MB  conda-forge
    libpng-1.6.39              |       h19919ed_0         336 KB  conda-forge
    libsqlite-3.42.0           |       hcfcfb64_0         820 KB  conda-forge
    libssh2-1.10.0             |       h9a1e1f7_3         228 KB  conda-forge
    libtiff-4.5.0              |       h6c8260b_6         1.0 MB  conda-forge
    libwebp-base-1.3.0         |       hcfcfb64_0         262 KB  conda-forge
    libxcb-1.13                |    hcd874cb_1004         1.3 MB  conda-forge
    libxml2-2.10.4             |       hc3477c8_0         1.7 MB  conda-forge
    libzlib-1.2.13             |       hcfcfb64_4          70 KB  conda-forge
    m2w64-gcc-libgfortran-5.3.0|                6         342 KB  conda-forge
    m2w64-gcc-libs-5.3.0       |                7         520 KB  conda-forge
    m2w64-gcc-libs-core-5.3.0  |                7         214 KB  conda-forge
    m2w64-gmp-6.1.0            |                2         726 KB  conda-forge
    m2w64-libwinpthread-git-<IP_ADDRESS>34.697f757|                2          31 KB  conda-forge
    matplotlib-base-3.7.1      |  py311h6e989c2_0         7.3 MB  conda-forge
    mkl-2022.1.0               |     h6a75c08_874       182.7 MB  conda-forge
    msys2-conda-epoch-20160418 |                1           3 KB  conda-forge
    munkres-1.1.4              |     pyh9f0ad1d_0          12 KB  conda-forge
    numpy-1.24.3               |  py311h0b4df5a_0         6.7 MB  conda-forge
    openjpeg-2.5.0             |       ha2aaf27_2         232 KB  conda-forge
    openssl-3.1.0              |       hcfcfb64_3         7.1 MB  conda-forge
    packaging-23.1             |     pyhd8ed1ab_0          45 KB  conda-forge
    pillow-9.5.0               |  py311hc67b2de_0        44.9 MB  conda-forge
    pip-23.1.2                 |     pyhd8ed1ab_0         1.3 MB  conda-forge
    proj-9.2.0                 |       heca977f_0         2.5 MB  conda-forge
    pthread-stubs-0.4          |    hcd874cb_1001           6 KB  conda-forge
    pthreads-win32-2.9.1       |       hfa6e2cd_3         141 KB  conda-forge
    pyparsing-3.0.9            |     pyhd8ed1ab_0          79 KB  conda-forge
    pyproj-3.5.0               |  py311h095e9de_1         396 KB  conda-forge
    pyshp-2.3.1                |     pyhd8ed1ab_0         941 KB  conda-forge
    python-3.11.3              |h2628c8c_0_cpython        17.3 MB  conda-forge
    python-dateutil-2.8.2      |     pyhd8ed1ab_0         240 KB  conda-forge
    python_abi-3.11            |          3_cp311           6 KB  conda-forge
    setuptools-67.7.2          |     pyhd8ed1ab_0         569 KB  conda-forge
    six-1.16.0                 |     pyh6c4a22f_0          14 KB  conda-forge
    sqlite-3.42.0              |       hcfcfb64_0         821 KB  conda-forge
    tbb-2021.9.0               |       h91493d7_0         151 KB  conda-forge
    tk-8.6.12                  |       h8ffe710_0         3.5 MB  conda-forge
    tzdata-2023c               |       h71feb2d_0         115 KB  conda-forge
    ucrt-10.0.22621.0          |       h57928b3_0         1.2 MB  conda-forge
    vc-14.3                    |      hb25d44b_16          16 KB  conda-forge
    vc14_runtime-14.34.31931   |      h5081d32_16         709 KB  conda-forge
    vs2015_runtime-14.34.31931 |      hed1258a_16          16 KB  conda-forge
    wheel-0.40.0               |     pyhd8ed1ab_0          54 KB  conda-forge
    xorg-libxau-1.0.9          |       hcd874cb_0          57 KB  conda-forge
    xorg-libxdmcp-1.1.3        |       hcd874cb_0          66 KB  conda-forge
    xz-5.2.6                   |       h8d14728_0         213 KB  conda-forge
    zstd-1.5.2                 |       h12be248_6         282 KB  conda-forge
    ------------------------------------------------------------
                                           Total:       341.9 MB

The following NEW packages will be INSTALLED:

  basemap            conda-forge/win-64::basemap-1.3.7-py311h4cd37dd_0
  basemap-data       conda-forge/noarch::basemap-data-1.3.2-pyhd8ed1ab_3
  brotli             conda-forge/win-64::brotli-1.0.9-hcfcfb64_8
  brotli-bin         conda-forge/win-64::brotli-bin-1.0.9-hcfcfb64_8
  bzip2              conda-forge/win-64::bzip2-1.0.8-h8ffe710_4
  ca-certificates    conda-forge/win-64::ca-certificates-2023.5.7-h56e8100_0
  certifi            conda-forge/noarch::certifi-2023.5.7-pyhd8ed1ab_0
  contourpy          conda-forge/win-64::contourpy-1.0.7-py311h005e61a_0
  cycler             conda-forge/noarch::cycler-0.11.0-pyhd8ed1ab_0
  fonttools          conda-forge/win-64::fonttools-4.39.4-py311ha68e1ae_0
  freetype           conda-forge/win-64::freetype-2.12.1-h546665d_1
  geos               conda-forge/win-64::geos-3.11.2-h1537add_0
  intel-openmp       conda-forge/win-64::intel-openmp-2023.1.0-h57928b3_46319
  kiwisolver         conda-forge/win-64::kiwisolver-1.4.4-py311h005e61a_1
  krb5               conda-forge/win-64::krb5-1.20.1-heb0366b_0
  lcms2              conda-forge/win-64::lcms2-2.15-h3e3b177_1
  lerc               conda-forge/win-64::lerc-4.0.0-h63175ca_0
  libblas            conda-forge/win-64::libblas-3.9.0-16_win64_mkl
  libbrotlicommon    conda-forge/win-64::libbrotlicommon-1.0.9-hcfcfb64_8
  libbrotlidec       conda-forge/win-64::libbrotlidec-1.0.9-hcfcfb64_8
  libbrotlienc       conda-forge/win-64::libbrotlienc-1.0.9-hcfcfb64_8
  libcblas           conda-forge/win-64::libcblas-3.9.0-16_win64_mkl
  libcurl            conda-forge/win-64::libcurl-8.0.1-h68f0423_0
  libdeflate         conda-forge/win-64::libdeflate-1.18-hcfcfb64_0
  libexpat           conda-forge/win-64::libexpat-2.5.0-h63175ca_1
  libffi             conda-forge/win-64::libffi-3.4.2-h8ffe710_5
  libhwloc           conda-forge/win-64::libhwloc-2.9.1-h51c2c0f_0
  libiconv           conda-forge/win-64::libiconv-1.17-h8ffe710_0
  libjpeg-turbo      conda-forge/win-64::libjpeg-turbo-<IP_ADDRESS>-hcfcfb64_0
  liblapack          conda-forge/win-64::liblapack-3.9.0-16_win64_mkl
  libpng             conda-forge/win-64::libpng-1.6.39-h19919ed_0
  libsqlite          conda-forge/win-64::libsqlite-3.42.0-hcfcfb64_0
  libssh2            conda-forge/win-64::libssh2-1.10.0-h9a1e1f7_3
  libtiff            conda-forge/win-64::libtiff-4.5.0-h6c8260b_6
  libwebp-base       conda-forge/win-64::libwebp-base-1.3.0-hcfcfb64_0
  libxcb             conda-forge/win-64::libxcb-1.13-hcd874cb_1004
  libxml2            conda-forge/win-64::libxml2-2.10.4-hc3477c8_0
  libzlib            conda-forge/win-64::libzlib-1.2.13-hcfcfb64_4
  m2w64-gcc-libgfor~ conda-forge/win-64::m2w64-gcc-libgfortran-5.3.0-6
  m2w64-gcc-libs     conda-forge/win-64::m2w64-gcc-libs-5.3.0-7
  m2w64-gcc-libs-co~ conda-forge/win-64::m2w64-gcc-libs-core-5.3.0-7
  m2w64-gmp          conda-forge/win-64::m2w64-gmp-6.1.0-2
  m2w64-libwinpthre~ conda-forge/win-64::m2w64-libwinpthread-git-<IP_ADDRESS>34.697f757-2
  matplotlib-base    conda-forge/win-64::matplotlib-base-3.7.1-py311h6e989c2_0
  mkl                conda-forge/win-64::mkl-2022.1.0-h6a75c08_874
  msys2-conda-epoch  conda-forge/win-64::msys2-conda-epoch-20160418-1
  munkres            conda-forge/noarch::munkres-1.1.4-pyh9f0ad1d_0
  numpy              conda-forge/win-64::numpy-1.24.3-py311h0b4df5a_0
  openjpeg           conda-forge/win-64::openjpeg-2.5.0-ha2aaf27_2
  openssl            conda-forge/win-64::openssl-3.1.0-hcfcfb64_3
  packaging          conda-forge/noarch::packaging-23.1-pyhd8ed1ab_0
  pillow             conda-forge/win-64::pillow-9.5.0-py311hc67b2de_0
  pip                conda-forge/noarch::pip-23.1.2-pyhd8ed1ab_0
  proj               conda-forge/win-64::proj-9.2.0-heca977f_0
  pthread-stubs      conda-forge/win-64::pthread-stubs-0.4-hcd874cb_1001
  pthreads-win32     conda-forge/win-64::pthreads-win32-2.9.1-hfa6e2cd_3
  pyparsing          conda-forge/noarch::pyparsing-3.0.9-pyhd8ed1ab_0
  pyproj             conda-forge/win-64::pyproj-3.5.0-py311h095e9de_1
  pyshp              conda-forge/noarch::pyshp-2.3.1-pyhd8ed1ab_0
  python             conda-forge/win-64::python-3.11.3-h2628c8c_0_cpython
  python-dateutil    conda-forge/noarch::python-dateutil-2.8.2-pyhd8ed1ab_0
  python_abi         conda-forge/win-64::python_abi-3.11-3_cp311
  setuptools         conda-forge/noarch::setuptools-67.7.2-pyhd8ed1ab_0
  six                conda-forge/noarch::six-1.16.0-pyh6c4a22f_0
  sqlite             conda-forge/win-64::sqlite-3.42.0-hcfcfb64_0
  tbb                conda-forge/win-64::tbb-2021.9.0-h91493d7_0
  tk                 conda-forge/win-64::tk-8.6.12-h8ffe710_0
  tzdata             conda-forge/noarch::tzdata-2023c-h71feb2d_0
  ucrt               conda-forge/win-64::ucrt-10.0.22621.0-h57928b3_0
  vc                 conda-forge/win-64::vc-14.3-hb25d44b_16
  vc14_runtime       conda-forge/win-64::vc14_runtime-14.34.31931-h5081d32_16
  vs2015_runtime     conda-forge/win-64::vs2015_runtime-14.34.31931-hed1258a_16
  wheel              conda-forge/noarch::wheel-0.40.0-pyhd8ed1ab_0
  xorg-libxau        conda-forge/win-64::xorg-libxau-1.0.9-hcd874cb_0
  xorg-libxdmcp      conda-forge/win-64::xorg-libxdmcp-1.1.3-hcd874cb_0
  xz                 conda-forge/win-64::xz-5.2.6-h8d14728_0
  zstd               conda-forge/win-64::zstd-1.5.2-h12be248_6

Proceed ([y]/n)? y

The python -m pip install basemap will need a working C compiler in this specific situation because pip will not find MacOS ARM64 wheels,

OK I have a c compiler, though I'm not sure at which step the c compiler was called ;-)

@molinav  so I tried to do this to just work with conda:
python -m pip install --no-deps basemap
and almost everything works fine, but when I try to see if its working as is in your tutorial page
i get this:

I tried to track what is missing in the init.py but i am not sure if i should modify this or not and I couldn't find the path to the mpl_toolkits , its a bit late here so maybe I am missing something ?:( thanks again !

Did you do python -m pip install basemap-data?

python -m pip install --no-deps basemap

No, I tried in the main environment with
python -m pip install --no-deps basemap
since i am working with conda there

you need to install baseman-data, which you have not done because you are using --no-deps.

If you are working in the conda environment, python -m pip install --no-deps basemap will install you basemap but not its dependencies, due to the --no-deps switch.
After installing basemap, you need to install the basemap requirements one by one with conda install <the_dependency_here>. The list of requirements is here:
https://github.com/matplotlib/basemap/blob/v1.3.7/packages/basemap/requirements.txt
So in summary, you still need:
conda install basemap-data numpy matplotlib pyproj pyshp

Bravisimo! sorry for too much obvious questions, it was long time since I didn't install everything from scratch in mac,
thank you so so much, now I am able to import it via Spyder as well !! I followed the whole steps (installing the missing packages you mentioned before via conda :D

Nice to hear that! Hopefully in the mid future I will add support for MacOS ARM64 and it will be less painful to install basemap. I am a bit behind because of not having a MacOS device to play around, but several MacOS ARM64 users have been struggling in the past due to the lack of wheels or conda packages, so it is really something that I should focus on in the future. Thanks to doing the same already for Windows and GNU/Linux, the installation on those systems is much much easier.

@ocefpaf, Is making a conda-forge recipe for basemap on MacOS ARM64 something you can help with?

@efiring @ocefpaf For your information, the main issue with the MacOS ARM64 pipeline in Azure is coming from the lack of MacOS ARM64 runners, so the conda package must be built through cross-compilation, and I always end up with "bad architecture type" error messages. The rest of the pipelines that use normal compilation (Windows, GNU/Linux and MacOS x64) are working fine.

Any updates on getting conda-forge recipes for MacOS arm64? When I try to install via conda-forge, I get the error appended to this post. It's singularly uninformative, telling me that packages are incompatible with each other, and then not listing which packages are incompatible.
This is in a conda environment with Python 3.11. I have been able to install basemap from the anaconda channel in a python 3.10 environment, but that's causing me problems for a code with a basemap dependency for other reasons likely unrelated to this package. Regardless, it would be really handy if it worked on conda-forge again.
conda install basemap
Collecting package metadata (current_repodata.json): \ DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): conda.anaconda.org:443
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): conda.anaconda.org:443
\ DEBUG:urllib3.connectionpool:https://repo.anaconda.com:443 "GET /pkgs/r/noarch/current_repodata.json HTTP/1.1" 304 0
DEBUG:urllib3.connectionpool:https://repo.anaconda.com:443 "GET /pkgs/main/osx-arm64/current_repodata.json HTTP/1.1" 304 0
DEBUG:urllib3.connectionpool:https://repo.anaconda.com:443 "GET /pkgs/r/osx-arm64/current_repodata.json HTTP/1.1" 304 0
DEBUG:urllib3.connectionpool:https://repo.anaconda.com:443 "GET /pkgs/main/noarch/current_repodata.json HTTP/1.1" 304 0
DEBUG:urllib3.connectionpool:https://conda.anaconda.org:443 "GET /conda-forge/osx-arm64/current_repodata.json HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://conda.anaconda.org:443 "GET /conda-forge/noarch/current_repodata.json HTTP/1.1" 200 None
done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): | DEBUG:urllib3.connectionpool:https://repo.anaconda.com:443 "GET /pkgs/r/noarch/repodata.json HTTP/1.1" 304 0
DEBUG:urllib3.connectionpool:https://repo.anaconda.com:443 "GET /pkgs/main/osx-arm64/repodata.json HTTP/1.1" 304 0
DEBUG:urllib3.connectionpool:https://conda.anaconda.org:443 "GET /conda-forge/noarch/repodata.json HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://repo.anaconda.com:443 "GET /pkgs/r/osx-arm64/repodata.json HTTP/1.1" 304 0
DEBUG:urllib3.connectionpool:https://repo.anaconda.com:443 "GET /pkgs/main/noarch/repodata.json HTTP/1.1" 304 0
DEBUG:urllib3.connectionpool:https://conda.anaconda.org:443 "GET /conda-forge/osx-arm64/repodata.json HTTP/1.1" 200 None
done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions

@mpanning Today I have finished updating the conda-forge recipe so that MacOS ARM64 is also supported. It would be great if you can give it a try. In my Mac mini M1 looks like below:
(base) vic@alpha:~$ conda create -y -n test311 -c conda-forge python=3.11 basemap
Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 23.3.1
  latest version: 23.11.0

Please update conda by running

    $ conda update -n base -c conda-forge conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.11.0

## Package Plan ##

  environment location: /opt/homebrew/Caskroom/miniforge/base/envs/test311

  added / updated specs:
    - basemap
    - python=3.11

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    contourpy-1.2.0            |  py311hd03642b_0         235 KB  conda-forge
    fonttools-4.47.0           |  py311h05b510d_0         2.6 MB  conda-forge
    kiwisolver-1.4.5           |  py311he4fd1f5_1          60 KB  conda-forge
    matplotlib-base-3.7.3      |  py311h3bc9839_0         7.2 MB  conda-forge
    pillow-10.1.0              |  py311hb9c5795_0        43.7 MB  conda-forge
    pyproj-3.6.1               |  py311h9a031f7_5         482 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        54.2 MB

The following NEW packages will be INSTALLED:

  basemap            conda-forge/osx-arm64::basemap-1.3.9-py311h4b3e582_0
  basemap-data       conda-forge/noarch::basemap-data-1.3.2-pyhd8ed1ab_3
  brotli             conda-forge/osx-arm64::brotli-1.1.0-hb547adb_1
  brotli-bin         conda-forge/osx-arm64::brotli-bin-1.1.0-hb547adb_1
  bzip2              conda-forge/osx-arm64::bzip2-1.0.8-h93a5062_5
  c-ares             conda-forge/osx-arm64::c-ares-1.24.0-h93a5062_0
  ca-certificates    conda-forge/osx-arm64::ca-certificates-2023.11.17-hf0a4a13_0
  certifi            conda-forge/noarch::certifi-2023.11.17-pyhd8ed1ab_0
  contourpy          conda-forge/osx-arm64::contourpy-1.2.0-py311hd03642b_0
  cycler             conda-forge/noarch::cycler-0.12.1-pyhd8ed1ab_0
  fonttools          conda-forge/osx-arm64::fonttools-4.47.0-py311h05b510d_0
  freetype           conda-forge/osx-arm64::freetype-2.12.1-hadb7bae_2
  geos               conda-forge/osx-arm64::geos-3.12.1-h965bd2d_0
  kiwisolver         conda-forge/osx-arm64::kiwisolver-1.4.5-py311he4fd1f5_1
  krb5               conda-forge/osx-arm64::krb5-1.21.2-h92f50d5_0
  lcms2              conda-forge/osx-arm64::lcms2-2.16-ha0e7c42_0
  lerc               conda-forge/osx-arm64::lerc-4.0.0-h9a09cb3_0
  libblas            conda-forge/osx-arm64::libblas-3.9.0-20_osxarm64_openblas
  libbrotlicommon    conda-forge/osx-arm64::libbrotlicommon-1.1.0-hb547adb_1
  libbrotlidec       conda-forge/osx-arm64::libbrotlidec-1.1.0-hb547adb_1
  libbrotlienc       conda-forge/osx-arm64::libbrotlienc-1.1.0-hb547adb_1
  libcblas           conda-forge/osx-arm64::libcblas-3.9.0-20_osxarm64_openblas
  libcurl            conda-forge/osx-arm64::libcurl-8.5.0-h2d989ff_0
  libcxx             conda-forge/osx-arm64::libcxx-16.0.6-h4653b0c_0
  libdeflate         conda-forge/osx-arm64::libdeflate-1.19-hb547adb_0
  libedit            conda-forge/osx-arm64::libedit-3.1.20191231-hc8eb9b7_2
  libev              conda-forge/osx-arm64::libev-4.33-h93a5062_2
  libexpat           conda-forge/osx-arm64::libexpat-2.5.0-hb7217d7_1
  libffi             conda-forge/osx-arm64::libffi-3.4.2-h3422bc3_5
  libgfortran        conda-forge/osx-arm64::libgfortran-5.0.0-13_2_0_hd922786_1
  libgfortran5       conda-forge/osx-arm64::libgfortran5-13.2.0-hf226fd6_1
  libjpeg-turbo      conda-forge/osx-arm64::libjpeg-turbo-3.0.0-hb547adb_1
  liblapack          conda-forge/osx-arm64::liblapack-3.9.0-20_osxarm64_openblas
  libnghttp2         conda-forge/osx-arm64::libnghttp2-1.58.0-ha4dd798_1
  libopenblas        conda-forge/osx-arm64::libopenblas-0.3.25-openmp_h6c19121_0
  libpng             conda-forge/osx-arm64::libpng-1.6.39-h76d750c_0
  libsqlite          conda-forge/osx-arm64::libsqlite-3.44.2-h091b4b1_0
  libssh2            conda-forge/osx-arm64::libssh2-1.11.0-h7a5bd25_0
  libtiff            conda-forge/osx-arm64::libtiff-4.6.0-ha8a6c65_2
  libwebp-base       conda-forge/osx-arm64::libwebp-base-1.3.2-hb547adb_0
  libxcb             conda-forge/osx-arm64::libxcb-1.15-hf346824_0
  libzlib            conda-forge/osx-arm64::libzlib-1.2.13-h53f4e23_5
  llvm-openmp        conda-forge/osx-arm64::llvm-openmp-17.0.6-hcd81f8e_0
  matplotlib-base    conda-forge/osx-arm64::matplotlib-base-3.7.3-py311h3bc9839_0
  munkres            conda-forge/noarch::munkres-1.1.4-pyh9f0ad1d_0
  ncurses            conda-forge/osx-arm64::ncurses-6.4-h463b476_2
  numpy              conda-forge/osx-arm64::numpy-1.26.2-py311h6d074dd_0
  openjpeg           conda-forge/osx-arm64::openjpeg-2.5.0-h4c1507b_3
  openssl            conda-forge/osx-arm64::openssl-3.2.0-h0d3ecfb_1
  packaging          conda-forge/noarch::packaging-23.2-pyhd8ed1ab_0
  pillow             conda-forge/osx-arm64::pillow-10.1.0-py311hb9c5795_0
  pip                conda-forge/noarch::pip-23.3.2-pyhd8ed1ab_0
  proj               conda-forge/osx-arm64::proj-9.3.1-h93d94ba_0
  pthread-stubs      conda-forge/osx-arm64::pthread-stubs-0.4-h27ca646_1001
  pyparsing          conda-forge/noarch::pyparsing-3.1.1-pyhd8ed1ab_0
  pyproj             conda-forge/osx-arm64::pyproj-3.6.1-py311h9a031f7_5
  pyshp              conda-forge/noarch::pyshp-2.3.1-pyhd8ed1ab_0
  python             conda-forge/osx-arm64::python-3.11.7-hdf0ec26_1_cpython
  python-dateutil    conda-forge/noarch::python-dateutil-2.8.2-pyhd8ed1ab_0
  python_abi         conda-forge/osx-arm64::python_abi-3.11-4_cp311
  readline           conda-forge/osx-arm64::readline-8.2-h92ec313_1
  setuptools         conda-forge/noarch::setuptools-68.2.2-pyhd8ed1ab_0
  six                conda-forge/noarch::six-1.16.0-pyh6c4a22f_0
  sqlite             conda-forge/osx-arm64::sqlite-3.44.2-hf2abe2d_0
  tk                 conda-forge/osx-arm64::tk-8.6.13-h5083fa2_1
  tzdata             conda-forge/noarch::tzdata-2023d-h0c530f3_0
  wheel              conda-forge/noarch::wheel-0.42.0-pyhd8ed1ab_0
  xorg-libxau        conda-forge/osx-arm64::xorg-libxau-1.0.11-hb547adb_0
  xorg-libxdmcp      conda-forge/osx-arm64::xorg-libxdmcp-1.1.3-h27ca646_0
  xz                 conda-forge/osx-arm64::xz-5.2.6-h57fd34a_0
  zstd               conda-forge/osx-arm64::zstd-1.5.5-h4f39d0f_0

Downloading and Extracting Packages

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate test311
#
# To deactivate an active environment, use
#
#     $ conda deactivate

A simple test printing the basemap version in this environment:
(base) vic@alpha:~$ conda activate test311
(test311) vic@alpha:~$ python -c "from mpl_toolkits import basemap; print(basemap.__version__)"
1.3.9

I am not an expert on Miniforge/Anaconda, but while testing I realised that it is very important for basemap not to mix with other channels, i.e. to install basemap and all its dependencies from the conda-forge channel.

I am closing the issue, because with the upcoming release 1.4.0 (in a couple of days) I will be uploading MacOS wheels to PyPI manually, and since release 1.3.9 we already have MacOS arm64 packages in the conda-forge channel, so hopefully these installation issues on MacOS will become less common.
Feel free to reopen the issue if any of the problems persists.


Fix/282 typos in various files

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: rorymurdock sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Enhancement: Mod Template Folder in compiled build

Please check for duplicates or similar issues before creating this issue.
What is your suggestion, and why should it be implemented?
It should be implemented since if it's your first time making a mod in this engine but don't have a mod template to work with.

why tf wiki was implemented then? Newbies can read how to make a mod in "Wiki" tab. But, I actually can say this is useful. Because they can mess up something in the code
.

yor ting is duplicated, her is the original


[QUESTION] What's the difference between roadrunner and fpm

The document says, roadrunner  can avoid restarting the PHP worker process once for each request, but the FPM woker process is resident in memory. How to understand the document says ?

@wolfy-j Could you please describe the differences? :)

FPM PHP process is resident in memory but only during the request execution, worker process will be destroyed or memory wiped after every request. RoadRunner avoids that.

@lishiling5121 Thanks for the question, if you have any other questions, feel free to re-open this issue.


Package now compiles Typescript files to CJS instead of ESM

Describe the bug
Upgrading from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>will change the output of svelte-kit package as follows:

My package is now broken when trying to install in another app (ReferenceError: exports is not defined in reference to an action defined in a .js file) if I upgrade SvelteKit and I'm forced to stay .314.
Reproduction

Clone https://github.com/jacob-8/svelte-pieces/
pnpm i
pnpm package - look at any compiled .js filed inside /package
update to<EMAIL_ADDRESS>or higher
pnpm i
pnpm package and inspect different results in compiled .js files in /package

Logs
No response
System Info
System:
    OS: Windows 10 10.0.22000
    CPU: (8) x64 Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz
    Memory: 1.14 GB / 11.77 GB
  Binaries:
    Node: 16.13.2 - C:\Program Files\nodejs\node.EXE
    npm: 8.1.4 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (100.0.1185.50)
    Internet Explorer: 11.0.22000.120
  npmPackages:
    @sveltejs/adapter-auto: 1.0.0-next.40 => 1.0.0-next.40
    @sveltejs/kit: 1.0.0-next.314 => 1.0.0-next.315
    @sveltejs/vite-plugin-svelte: ^1.0.0-next.41 => 1.0.0-next.41
    svelte: ^3.47.0 => 3.47.0

Severity
blocking an upgrade
Additional Information
No response

Weird... I just checked the changelog for 314 => 315, and this is the only line I could possibly see that might cause this issue, but it shouldn't be the problem. I'll try to look further into this when I get home to at least triage.

Possibly related #4460

This commit seems like the culprit, changelog didn't pick up on it https://github.com/sveltejs/kit/commit/2bb2ab094e18a4554b367252aea7c25ae4a75803

Oh, it's a create-svelte change, that's why

Thanks @gtm-nayan that might be indeed the culprit. If you set target and lib to what was generated before, does the error go away?

Thank you, all! I create a new svelte-kit app and copied in the default compilerOptions from the j/tsconfig.json file and all is working as expected using this tsconfig:

I know it's not 1.0, but it'd be nice for that to be documented somewhere as breaking change. I had already scoured the docs and changelogs ahead of posting my bug but it wasn't there of course.


MNT: The glpk recipe has some lint :(

This is the friendly conda-forge-admin automated user.
I've ran the conda-smithy linter and found some lint in this feedstock :cry:.
Here is what I have got:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form.

Thanks!

Fix in this PR ( https://github.com/conda-forge/glpk-feedstock/pull/8 ).


🐛 [cloud_functions]: HttpsCallableResult nested object returned as InternalLinkedHashmap of objects?

Bug report
Describe the bug
A clear and concise description of what the bug is.
Steps to reproduce
Steps to reproduce the behavior:

Go to '...'
'...'
See error or incorrect behavior

Expected behavior
A clear and concise description of what you expected to happen.
Sample project
Providing a minimal example project which demonstrates the bug in isolation from your main App greatly enhances the chance of a timely fix.
Please link to the public repository URL.

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Looks like you meant to file https://github.com/FirebaseExtended/flutterfire/issues/6546


Enhance the UI for "Add-Case" and "Settings (Edit Profile)" sections.

The current UI of the "Add-Case" and "Settings (Edit Profile)" sections is missing certain visual elements such as borders, outlines, and proper alignment. Improving these aspects will enhance the overall user experience and ensure a consistent, polished look throughout the platform.
CURRENT UI Of EDIT PROFILE (SETTINGS):

CURRENT UI Of Add-Case PROFILE :

Solution:

Borders and Outlines: Add appropriate borders and outlines to input fields, buttons, and form sections where necessary.
Alignment: Ensure all elements, including input fields, buttons, and labels, are properly aligned for a clean, organized layout.
Spacing: Improve the padding and margins to create more space between form elements for better readability.
Button Styling: Ensure that the buttons (e.g., "Submit", "Save Changes") are clearly distinguishable, with hover effects and proper alignment relative to the form field.

Bonus Points: Special consideration will be given based on the visual appeal of the redesigned UI, making aesthetics a critical factor.

@Codipk i have sent the req for this issue

As per rules first come first serve @Ayush5071 assign this issue. Strt working and do comment here also

I'm working on this issue

@Codipk  ma'am i raised the pull request.

Sure, mam i think there is error in target url of server, the edit request is not able to go to their route I'll try to fix it, but i think it will take time.

@Ayush5071 np, u can request for approval otherwise if u have time then do it.

Okay ma'am I'll try to do it by tonight
On Fri, 18 Oct, 2024, 3:52 pm Dipti Kumari, @.***>
wrote:

@Ayush5071 https://github.com/Ayush5071 np, u can request for approval
otherwise if u have time then do it.
—
Reply to this email directly, view it on GitHub
https://github.com/ContriHUB/CREDLOCKS/issues/11#issuecomment-2422105223,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFBA5CHEUDZVGMPIBGDDOZLZ4DOPLAVCNFSM6AAAAABQDAX4MGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRSGEYDKMRSGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

@Ayush5071 wht the updates?If u are not able to do solve the bug then make the request for approval

@Codipk i'm really sorry mam , i got busy bcz of smp and tpo meets.
also,not able to solve the error in traget url . i have sended the approval of this issue.


Running a script with an unknown option does not show usage

It just shows:
script -d
Error: no such option: -d

Usage should be displayed IMHO
For instance:
 ./scancode  -d
Usage: scancode [OPTIONS] <input> <output_file>
Error: no such option: -d

See also #393

How does showing the usage help with this? It only shows that options can be applied.

@untitaker You are right, it does not help too much. #393 suggest adding how to get to the help.
For instance this is what happens with wget:
$ wget
wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.

and git
$ git -sdfsdf
Unknown option: -sdfsdf
usage: git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

So displaying either how to get to --help or a longer line that list all options/args values would likely be better.

Any progress? Something like this really improves user experience for long commands. Currently, I'm hacking around this by monkey-patching get_usage in the CLI entry point module:
click.Context.get_usage = click.Context.get_help

This means that any error results an output as if the user had specified --help. So far, I haven't seen any negative effects, just happy users.

+1

Decision made to keep current "see --help" message in #502.


postgres: Use Postgres’ jsonb data type for efficience

This is supported since Postgres 9.2.  At the moment, Debian oldstable (jessie)
ships 9.6, and CentOS 6 – which is supported until November this year –
8.something.  I doubt anyone will really run anything older than this, and not
supporting CentOS 6 seems okay to me.
The init function will automatically check the data type of the value column and
migrate if it’s still text.
I hope the code is sensible, this is my first time writing JavaScript …

This broke the postgres tests...  https://travis-ci.org/github/ether/ueberDB/builds
I think this commit probably breaks psql, can you check please why it's failing, I'm gonna need to revert if it can't be fixed pretty speedily :1234:

Uh, I don’t see any fails there, can you please point out something specific?

The bottom of the test results show postgres failed to work

https://github.com/ether/etherpad-lite/issues/4271

@qsuscs Please get a patch in ASAP as we just released 1.8.5 that includes this PR so all postgres installs that update will be broken :\

I’ll look into it today.  I did not experience any issues here when testing ueberDB, so it might be a issue with Etherpad as well.

@qsuscs it's an ueberdb your commit issue 100% :)  Tnx for looking into it ASAP!  I appreciate it.

Ohhhh.  I found the problem.  In postgres_common.js:detectUpsertMethod(), we conditionally create a PL/pgSQL function ueberdb_insert_or_update(character varying, text).  Since my commit, however, the type needs to be jsonb.  Unfortunately, fixing this will only work for new databases, as PL/pgSQL seems to do some kind of overloading, so I just ended up with two functions:
ueberdb=> \d ueberdb_insert_or_update
Did not find any relation named "ueberdb_insert_or_update".
ueberdb=> \df ueberdb_insert_or_update
                                   List of functions
 Schema |           Name           | Result data type |   Argument data types    | Type
--------+--------------------------+------------------+--------------------------+------
 public | ueberdb_insert_or_update | void             | character varying, jsonb | func
 public | ueberdb_insert_or_update | void             | character varying, text  | func
(2 rows)

A quick workaround would be to fix said function declaration and manually drop the old one, I’ll check how to do so automatically.

For some reason, when I wrote this change my database was correctly detected as supporting native upsert, but at least on my current support, the detection is broken:
ueberdb=> EXPLAIN INSERT INTO store(key, value) VALUES ($1, $2) ON CONFLICT (key) DO UPDATE SET value = excluded.value;
ERROR:  there is no parameter $1
LINE 1: EXPLAIN INSERT INTO store(key, value) VALUES ($1, $2) ON CON...
                                                      ^

When filled with real values, however:
ueberdb=> EXPLAIN INSERT INTO store(key, value) VALUES ('key', '{"value": true}') ON CONFLICT (key) DO UPDATE SET value = excluded.value;
                     QUERY PLAN
-----------------------------------------------------
 Insert on store  (cost=0.00..0.01 rows=1 width=250)
   Conflict Resolution: UPDATE
   Conflict Arbiter Indexes: store_pkey
   ->  Result  (cost=0.00..0.01 rows=1 width=250)
(4 rows)

I’ll open a separate issue for that.

@qsuscs take another stab at this.  I reverted your commits.  I should have not merged them in the first place so take responsibility for that.  My apologies.


Transition + keep alive + router-view

Version
2.2.6
Reproduction link
http://jsfiddle.net/fanaticism1/wtpuevc6/72/
Steps to reproduce
switch the components, the animation does not display correctly when it show. I am not sure whether this issue belongs to vue or vue router.
I write a exmple , but the params '$route.meta.keepAlive' can not get,  so I mentioned another question【https://github.com/vuejs/vue-router/issues/1378】
What is expected?
The animation display correctly when rendering a component in the router view。
What is actually happening?
The animation does not display correctly when rendering a component in the router view。

no

I think you wanted to do this: http://jsfiddle.net/ygjg5znx/
(v-if then v-else)

Yes, the animation is what I hope, but I found that keep-alive is dead。
 Because it involves async request, I do not know how to write a clear demo.

mmh I see. Yeah, we cannot use transitions and have granular control over what is kept alive with router-views at the moment. I'm not sure it's on router's or vue's end where we should improve

OK, I know .I'm not sure if there is any better solution，but thank you very much ~~ ^_^

Ok, so you need to define an include or exclude prop on the keep-alive. At first I thought it didn't work with the router-view 🙂
http://jsfiddle.net/1ap6njzn/1
Foo is kept alive but Home is not
Keep in mind that you can generate the list by reading the routes array in your Root component that renders the view. All you need to know about include and exclude is at https://vuejs.org/v2/api/#keep-alive
Hope it helps!

I tried it, the animation takes effect, keep-alive also takes effect, but keep-alive takes effect on all the components rendered in the router-view，and I want it to be one.
I saw this in the vue document：

The match is first checked on the component’s own name option, then its local registration name (the key in the parent’s components option) if the name option is not available. Anonymous components cannot be matched against.

The .vue component rendered in the router-view does not seem to have a name, and it can not be imported into the parent. (I tried it briefly and did not work after it was introduced).
I do not know where I am not in place。

Yeah, the name is necessary. If it doesn't work, I'm sorry, you'll have to ask on the forums

mark

anyone?

give your router-view an unique key..
like:     :key="$route.name + ($route.params.id || null)"

Thank you @casbloem
I solved my problem by doing sth like :
<transition name="router-fade" mode="out-in">
      <keep-alive v-if="$route.meta.keepAlive">
              <router-view @title="setTitle" :key="$route.name + ($route.params.id || null)"></router-view>
      </keep-alive>
      <router-view v-else @title="setTitle" :key="$route.name + ($route.params.id || null)"></router-view>
</transition>

Does this bug have a solution？The above method can't be solved perfectly by testing！

@lanpangzhi , this does work. I was able to use the example show in @posva 's fiddle to figure it out. I got it working with something like the following:
<template>
...
      <transition name="router-view-fade" mode="out-in">
        <keep-alive :exclude="Array.from(excludeNames)" :include="includeNames()">
          <router-view :key="$route.params.id"></router-view>
        </keep-alive>
      </transition>
...
</template>

<script>
	export default {
		name: "main-app",
	        ...
		components: {...},
		data: function () {
			return {
				excludeNames: new Set(['component-to-exclude-1', 'cte2',...])
			};
		},
		methods: {
			includeNames() {
				return this.$router.options.routes.map(r => r.components.default.name).filter(name => !!name && !this.excludeNames.has(name));
			}
		}
	};
</script>

You many need to adjust includeNames based on how you're router is setup.

@lanpangzhi , this does work. I was able to use the example show in @posva 's fiddle to figure it out. I got it working with something like the following:
<template>
...
      <transition name="router-view-fade" mode="out-in">
        <keep-alive :exclude="Array.from(excludeNames)" :include="includeNames()">
          <router-view :key="$route.params.id"></router-view>
        </keep-alive>
      </transition>
...
</template>

<script>
	export default {
		name: "main-app",
	        ...
		components: {...},
		data: function () {
			return {
				excludeNames: new Set(['component-to-exclude-1', 'cte2',...])
			};
		},
		methods: {
			includeNames() {
				return this.$router.options.routes.map(r => r.components.default.name).filter(name => !!name && !this.excludeNames.has(name));
			}
		}
	};
</script>

You many need to adjust includeNames based on how you're router is setup.

I found that this not work if u u async components

Thank you @casbloem
I solved my problem by doing sth like :
<transition name="router-fade" mode="out-in">
      <keep-alive v-if="$route.meta.keepAlive">
              <router-view @title="setTitle" :key="$route.name + ($route.params.id || null)"></router-view>
      </keep-alive>
      <router-view v-else @title="setTitle" :key="$route.name + ($route.params.id || null)"></router-view>
</transition>

cache still work ?


Invalid or unexpected token

stack: Vue3 + vue3-json-editor 1.1.5
All works on local.
When deploying to production, a line of code is generated.
toString$1=functionUncurryThis(1.toString)
And 1.toString throws error: SyntaxError: Invalid or unexpected token.

Hi, what specific version for VueJS? is Vite project or not?


Component That References Another Entity Can Cause Foreign Key Exception

After updating to Nhibernate 5.0 from Nhibernate <IP_ADDRESS> and Fluent Nhibernate 2.1.0 from Fluent Nhibernate <IP_ADDRESS>2  the following issue started occurring.
I have an object Container which contains a list of Parents. Parents contains a COMPONENT object with a reference to another StringObject object.
There are the following tables:

Container
Parent - Contains the Component as well.
StringObject

If I create a Container with two parents and the first parent has a Component and the second doesn't everything works. But If the first has not component and the second doesn't I get a foreign key exception.
Nhibernate doesn't work properly with components. If it isn't a component but a regular domain mapped class to it's own table everything works.

Here is Console APP that shows the issue:
`using System;
using System.Collections.Generic;
using FluentNHibernate.Mapping;
using NHibernate;
using NHibernate.Tool.hbm2ddl;
namespace NhibernateReplicateForeignKeyBug
{
class Program
{
private static string connectionString = string.Empty; //PUT YOUR CONNECTIONSTRING
    static void Main(string[] args)
    {
        ISessionFactory sessionFactory = CreateTables();
        var session = sessionFactory.OpenSession();

        using (ITransaction transaction = session.BeginTransaction())
        {
            try
            {
                var EmptyParent = new Parent();
                var ParentWithComponentWithObjectRef = new Parent
                {
                    ComponentWithObjectRef = new ComponentWithObjectRef
                    {
                        StringObjectRef = new StringObject
                        {
                            Name = "TestName"
                        }
                    }
                };
                Container containerThatBreaks = new Container
                {
                    Parents = new List<Parent> { EmptyParent, ParentWithComponentWithObjectRef}
                };
                Container containerThatWorks = new Container
                {
                    Parents = new List<Parent> { ParentWithComponentWithObjectRef, EmptyParent}
                };
                session.Save(containerThatBreaks);
                transaction.Commit();
                Console.Out.WriteLine("Works!");
            }
            catch(Exception e)
            {
                transaction.Rollback();
                Console.Out.WriteLine("BROKEN!");
                Console.Out.WriteLine(e);
            }
            Console.ReadLine();
        }
    }
    public static ISessionFactory CreateTables()
    {
        ISessionFactory sessionFactory;
        sessionFactory = FluentNHibernate.Cfg.Fluently.Configure()
            .Database(
                FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008
                    .ConnectionString(connectionString)
            )
            .Mappings(m =>
            {
                m.FluentMappings.AddFromAssemblyOf<ParentMap>();
            })
            .ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))
            .BuildSessionFactory();
        return sessionFactory;

    }
}

#region Domain

public class Container
{
    public virtual Guid Id { get; set; }

    public virtual IList<Parent> Parents { get; set; }
}

public class Parent
{
    public virtual Guid Id { get; set; }

    public virtual ComponentWithObjectRef ComponentWithObjectRef { get; set; }

}

public class ComponentWithObjectRef
{
    public virtual StringObject StringObjectRef { get; set; }
}

public class StringObject
{
    public virtual Guid Id { get; set; }
    public virtual string Name { get; set; }
}

#endregion

#region Mappings

public class ContainerMap : ClassMap<Container>
{
    public ContainerMap()
    {
        Id(x => x.Id);
        HasMany(x => x.Parents)
            .Cascade.All();
    }
}

public class ParentMap : ClassMap<Parent>
{
    public ParentMap()
    {
        Id(x => x.Id);
        Component(x => x.ComponentWithObjectRef, c =>
        {
            c.References(y => y.StringObjectRef)
                .ForeignKey()
                .Cascade.All();
        });
    }
}

public class StringObjectMap : ClassMap<StringObject>
{
    public StringObjectMap()
    {
        Id(x => x.Id);
        Map(x => x.Name);

     //   ComponentWithObjectRef(x => x.ComponentWithObjectRef, c =>
     //   {
     //       c.References(y => y.StringObjectRef)
     //           .ForeignKey()
     //           .Cascade.All();
     //   });
    }
}

#endregion

}
`

Also posted on Nhibernate: https://github.com/nhibernate/nhibernate-core/issues/1616

Hi,
Is there a chance someone could please have a look at this issue?
This currently blocks me from upgrading to latest version ad it seems like a small fix.
Thanks,
Guy


Question about fabio metrics names

This is the metrics section of my fabio.properties file
metrics.target = statsd
metrics.prefix = fabio.

I've analyzed packets getting sent from fabio to statsd exporter using wireshark and I see that before statsd transforms, the metrics names have format like fabio--http.status.404.count and fabio--notfound.count
Is there anyway to remove the --  via fabio.properties so that  the name is fabio.http.status.404.count,  fabio.notfound.count

It seems like this behavior is related to the go-metrics-statsd module:
https://github.com/fabiolb/fabio/blob/c034d4fae1d604adbb5ff98034cad138eab3a771/metrics/gometrics.go#L13
https://github.com/pubnub/go-metrics-statsd/blob/7da61f429d6bdaa79d5d5746998e0db9622c56fc/statsd.go#L69-L109
The reason for this prefix is very legacy. The statsd-librato plugin allows for the source of a metric to be pulled off the front of metric name delimitated by --: https://github.com/librato/statsd-librato-backend/blob/3e7d7e2a76478892da5f59e3c6da4a8a3a5f9670/lib/librato.js#L268-L273
And here's a test demonstrating that behavior: https://github.com/librato/statsd-librato-backend/blob/3e7d7e2a76478892da5f59e3c6da4a8a3a5f9670/test/librato_tests.js#L559-L560


please add fluent design acrylic

thx

@heartacker would you please explain acrylic? What is you requirement actually?


Use compio instead tokio_uring

Describe the problem related to your feature request.
Compared with tokio_uring and monoio, compio has better performance and compatibility, and has better support for the windows platform.
What solution would you like?
Replace tokio_uring in valence and use compio
What alternative(s) have you considered?
monoio, but it does not support windows platform
Additional context
As far as I know, Apache OpenDAL™ is migrating to compio and there may be detailed performance testing there.

Just want to play devils advocate here: Is this truly going to be worth moving away from tokio for the runtime? Tokio seems to be the de-facto runtime.
The OpenDAL analogy is a good one, but I guess I'm really not seeing Windows support being a first-class requirement when a majority of servers are ran on linux boxes.
Also FWIW, I believe tauri uses Tokio, and they aim to be the cross-platform experience for apps using TS+Rust.


Evaluation Dataset Download Link is Down

Hi, I want to reproduce the results reported in the paper and I find the link to download evaluation datasets is down. Could you provide a new link? Thanks!

Sorry, the link has been updated.


Calendar Date Range background Between today date and selected end date

Figure 1.

Figure 2.

I would like to get design like Figure 2.
I would like to add the color between today date and selected end date.
But I don't know how to.
When I select the preferable end date, today date color will change to red color background.
And all the dates between today date and selected date will be changed into light blue.
For example if today date is (20.10.2016), I select the end date into (25.10.2016)
So all the dates between 20.10.2016 to 25.10.2016 background will be light blue.
And the minimum date will be today date.
May I know how can I do that.
And does this library support how I wanted to do?
Thanks a lot!

@tharhtet You can use FSCalendarDelegateAppearance. See DelegateAppeanraceExample for details.
There is a gist to get all dates between two dates: https://gist.github.com/WenchaoD/4ee6276e36b2a5ccd02fddd367ebaae2

Will it write within in didSelectDate? When i create within didSelet Date in DelegateAppeanraceExample, it doesn't work. May i know where will i write the selected date click event? Thank for the reply.

(void)calendar:(FSCalendar *)calendar didSelectDate:(NSDate *)date;

Although I get date lists between two dates, but the calendar Interface not change like Figure 2. May I know how to set the background between two dates? Thank.

let fromDate = NSDate()
let toDate = fromDate.dateByAddingTimeInterval(3243600)
let gregorian = NSCalendar(identifier: NSCalendarIdentifierGregorian)
let daysDiff = gregorian.components(NSCalendarUnit.Day, fromDate: fromDate, toDate: toDate, options: NSCalendarOptions(rawValue: 0)).day as Int
let array: NSMutableArray = []
for index in 1..<daysDiff {
let date = gregorian.dateByAddingUnit(NSCalendarUnit.Day, value: daysDiff, toDate: toDate, options: NSCalendarOptions(rawValue: 0))! as NSDate
array.addObject(date)
}
let dates = array.copy() as! NSArray
print(dates)

I have got the solution thank.
let calendar = NSCalendar.currentCalendar()
let normalizedStartDate = calendar.startOfDayForDate(fromDate)
let normalizedEndDate = calendar.startOfDayForDate(toDate)
var dates: NSMutableArray = []
var currentDate = normalizedStartDate
repeat {
currentDate = calendar.dateByAddingUnit(NSCalendarUnit.Day, value: 1, toDate: currentDate, options: NSCalendarOptions.MatchNextTime)!
dates.addObject(currentDate)
} while !calendar.isDate(currentDate, inSameDayAsDate: normalizedEndDate)
print(dates)

if you pick date from 20 until 25, how can i prevent if user pick on 22 and deselect the autoselect? it can be usefull for rangepicker.
thanks for helping

If you date is today (20) you can disabled all date before 20 with FSCalendarDelegateAppearance Protocol and shouldSelect Function.
`    func calendar(_ calendar: FSCalendar, shouldSelect date: Date, at monthPosition: FSCalendarMonthPosition) -> Bool {
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd"

    if  formatter.string(from: TodayDate!) > formatter.string(from: date) {
       //date before 20
        return false
    }

    // dates after 20
    return true
}`


Added pull request template

Motivate people to write PR descriptions, include code samples and link to related issues.

No plans to add this right now.

Huh, mind elaborating why not?


Make can-serve --develop work on Windows

Using path.join to find the path to the steal-tools binary rather than
expecting a unix path. Fixes #77

Windows build failed because of an npm installed error. Can't wait another hour while it may or may not work, so going to go ahead and merge because it passed on all but 1 of the Node versions on appveyor.


[android][test] XFAIL dead_array_elim in Android ARMv7

It is failing for unknown reasons, probably as a result of #35872.
XFAILing for the time being to have a green build again.

@swift-ci please test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge


Replace nested iterators with higher order functions.

request stuff here!
Ever since the restructure (see fc0e04c), I think the project should work on improving the iterators in render::JellyRender::grab().
I've looked at the image crate and I think most of this code can literally be broken down into simple map functions or the method of screen recording can be different.
code

I think this is just leading to premature optimizations. Closed for now.


fix folder issue from upstream update

Need: getting an error when running "run_one_step" asking for assistance @CannedIce to help with this.
Options: for fixing (Not sure which is better) a- pull this branch down and look at the error then push changes made, b- approve PR and we make a new issue.
Notes: all unit tests we had before are passing :)

I think we should go ahead and accept this change and then make a new issue for the error. I think it is something with the index file being removed.


Github Actions: Check Degenbot python versions and dependencies

This workflow will trigger for each commit done to main branch.
The goal of this workflow is to check Degenbot's dependencies against different python versions and OS.
The workflow can be updated by adding new dependencies in the requirements.in or new python versions in the workflows' matrix variable.
This way we can confidently update our working environments without fear of breaking Degenbot.
The workflow will generate requirements_{{OS}}_{{python_version}}_.txt for each valid build.
It can be downloaded from the Actions tab.
TODO:

Merge requirements_{{OS}}_{{python_version}}_.txt directly to the repo.

First time dealing with a github action, this might break in weird ways so let's give it a shot and pick up the pieces later
LTGM rocket emoji


[QUESTION] Edit internal links of an existing PDF

Hi,
Is it possible to replace external links of a PDF with internal links? For example, I have a PDF file that has several anchor tags (it was generated with HTML code) that redirects to external websites. I want to edit these anchor tags with internal links, like `. How would I achieve that?
Thanks in advance

Hello @nigellima!
This is certainly possible to do. You just need to find the annotation dictionaries representing the external links and replace them with internal link annotations of your own making. Here's a working example script based on #123 and #161:
import fs from 'fs';
import fetch from 'node-fetch';
import { PDFArray, PDFDict, PDFDocument, PDFName } from 'pdf-lib';

(async () => {
  // Get the original PDF with an external link
  const pdfWithLinkBytes = await fetch(
    'https://github.com/Hopding/pdf-lib/files/2608369/pdf_with_link.pdf',
  ).then((res) => res.arrayBuffer());

  // Load the original PDF
  const pdfDoc = await PDFDocument.load(pdfWithLinkBytes);

  // Grab a reference to the first page, and add a second page
  const page1 = pdfDoc.getPages()[0];
  const page2 = pdfDoc.addPage([page1.getWidth(), page1.getHeight()]);

  // Draw some text on the second page
  page2.drawText('Hello, I am page 2!', { x: 150, y: page2.getHeight() / 2 });

  // Get a reference to the external link annotation on the first page
  const annots = page1.node.lookup(PDFName.of('Annots'), PDFArray);
  const linkAnnotRef = annots.get(0);
  const linkAnnot = annots.lookup(0, PDFDict);

  // Create a new internal link annotation (going to the second page) by
  // copying the relevant properties from the external one
  const newAnnot = pdfDoc.context.obj({
    Type: 'Annot',
    Subtype: 'Link',
    Rect: linkAnnot.lookup(PDFName.of('Rect')),
    Border: linkAnnot.lookup(PDFName.of('Border')),
    C: linkAnnot.lookup(PDFName.of('C')),
    Dest: [page2.ref, 'XYZ', null, null, null],
  });

  // Replace all occurrences of the external annotation with the internal one
  pdfDoc.context.assign(linkAnnotRef, newAnnot);

  // Save the PDF file
  const pdfBytes = await pdfDoc.save();

  // Write the saved file to `out.pdf`
  fs.writeFileSync('./out.pdf', pdfBytes);
})();

And here's the resulting file: out.pdf

I hope this helps. Please let me know if you have any additional questions!

Hi
I am comparing two pdf files. if both file1 and file2 has same content, I will highlight content in both files with rectangle. If I click highlighted content in file1, It should navigate to file2 where exact matching content found/highlighted content in file2. I tried with internal/external links, it is not working. Any help would be appreciated
Thanks
Ramesh


migrate to typescript 1.8

Part of fixing the build against uproxy-lib...

This change is

Changes look fine to me except now I see the travis error:
Running "jasmine:generic_core/firewallSpec" (jasmine) task
Testing jasmine specs via PhantomJS
>> ReferenceError: Strict mode forbids implicit creation of global property 'freedom' at
>> build/dev/uproxy/generic_core/firewall.spec.static.js:233
>> build/dev/uproxy/generic_core/firewall.spec.static.js:1 s
>> build/dev/uproxy/generic_core/firewall.spec.static.js:1 e
>> build/dev/uproxy/generic_core/firewall.spec.static.js:1
>> build/dev/uproxy/generic_core/firewall.spec.static.js:1

Update: there is some weirdness with TS 1.8 and grunt-contrib-jasmine 1.x. I downgraded grunt-jasmine-contrib to 0.9 for now...I don't think we're actually relying on any of its features.

👍


Refactor data recorder

Description
Fix #232 #203

Refactor all data recorders
Add data_record_frame.go
Change the interface of DataRecorder to comply with DataRecordFrame

Motivation and Context

Add the option to set the output mode of DataRecordFrame
Consolidate and simplify adding new data recorders

How Has This Been Tested?
TODO
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

TODO, increase test coverage for date_record_frame.go

Codecov Report

Merging #233 into master will decrease coverage by 1.25%.
The diff coverage is 60.97%.

@@            Coverage Diff             @@
##           master     #233      +/-   ##
==========================================
- Coverage   83.87%   82.62%   -1.26%
==========================================
  Files          24       25       +1
  Lines        1433     1433
==========================================
- Hits         1202     1184      -18
- Misses        174      191      +17
- Partials       57       58       +1

Impacted Files
Coverage Δ

pkg/handler/data_recorder.go
100% <ø> (ø)
:arrow_up:

pkg/handler/eval.go
77.27% <0%> (-0.89%)
:arrow_down:

pkg/handler/data_recorder_kinesis.go
88.23% <100%> (+5.25%)
:arrow_up:

pkg/handler/data_recorder_pubsub.go
53.12% <100%> (+5.62%)
:arrow_up:

pkg/handler/data_record_frame.go
30.76% <30.76%> (ø)

pkg/handler/data_recorder_kafka.go
78.94% <88.88%> (-3.35%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 65fd5b9...5d9012b. Read the comment docs.

Overall this looks pretty solid. I think at this point my only question has to do with the way EvalResult is treated (as noted above). Thanks for the help with this!


fix: enable user retirement sink

Description
This PR adds the retirement sink to the default PII models and models

Thanks for the pull request, @Ian2012! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@Ian2012 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


[5.2] Custom Validators on Array validation.

I have a custom validator, which works fine on normal input fields but when I apply it on a array it wont work.
This is how I am applying it:
'services'     => "service:{$id},{$type}", // Works but sends the whole array as value.

'serivices.*'  => "required|service:{$id},{$type}|exists:services,id", // Does not work. Validator is not even been called.

@SachinAgarwal1337 can you share the code for your customer validator?

@themsaid  Here have a look.
public function validate($attribute, $value, $parameters)
    {
        $location_id = $parameters[0];
        $location_type = $parameters[1];

            if (!is_null(Department::forServiceLocation($value, $location_id, $location_type))) {
                   return true;
            }

        return false;
    }

Well things seem to work running some tests, can you please share a failing test from your end?

@themsaid it not even being called. So When I submit the form, it never checks for this validation and just passes on to next validation.
p.s I haven't wrote a test yet.

Is the original validation code copy pasted? If so, there's a spelling mistake.
See
'serivices.*'  => "required...

should be
'services.*' => "required...

@fryiee that was it. My Bad. Did not notice the spelling mistake. Thanks for help :D


Business Central Performance Issue

Hi,
We are facing the issue regarding extremely slow list scrolling, movements between cards and cards opening. The biggest problem is the customer table. This table has customizations - 10 extensions are published on this table. There are around 30 new fields added to this table, divided in 10 extensions in order to group logic parts of the process. Everything seemed to be fine until the client's data was imported. There are over 40000 records in the customer table. After data import managing customer data become extremely slow.
We did some testing with this number of records and 4th extension that is published on customer table is causing the issue. When 3 extensions are published (regardless of the number of the fields in each - testing was done with one field in each extension), everything is working fine. Fourth is blocking the process.
Does anyone have an idea what can be the reason for this and how can this be overcome?
BC version is 13.7.

https://www.linkedin.com/pulse/avoiding-table-extension-hell-james-crowter/

Hi! Please take a minute to read the guidelines for this repository https://github.com/microsoft/AL and our collection of frequently asked questions https://github.com/Microsoft/AL/wiki/frequently-Asked-Questions .
As this repository is only for issues related to the AL compiler in latest developer preview environment for Dynamics 365 Business Central. We suggest that you open a support case or file a bug in Collaborate, to ensure that all Business Central users benefit from your catch as soon as possible.
To open a support case, you can:

Open a support request to CSS through the PartnerSource portal
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

If you file the bug in Collaborate, remember to include steps to reproduce the issue, and the Business Central build number and country version you're using.