1.0: Rewrite in Python

devenv started as a bash wrapped in Nix to explore the design space.
As a result, there were many subtle bugs and lack of features that were hard to implement.
Previous devenv was 240M in closure and now it's down to 126M.
Fixes #693
Fixes #629
Fixes #731
Fixes #83
Fixes #80
Fixes #749
Fixes #507
Fixes #258
Fixes #486
Fixes #745
Try it out 🚀
Plain Nix
cachix use devenv
nix-env -if https://install.devenv.sh/python-rewrite

Flakes
nix profile install --accept-flake-config tarball+https://install.devenv.sh/python-rewrite

I noticed that --debugger doesn't really work as we need to properly attach stdin.

It seems like we're hitting something similar to https://github.com/nix-community/poetry2nix/issues/596, investigating.

Failed for me:
new python failed for me:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
❯ devenv shell
• Building shell ...
error:
       at «github:NixOS/nixpkgs/1e383aada51b416c6c27d4884d2e258df201bc11»/lib/modules.nix:346:9:

          345|         options = checked options;
          346|         config = checked (removeAttrs config [ "_module" ]);
             |         ^
          347|         _module = checked (config._module);

       … while evaluating the attribute 'config'

       error: The option `devenv.root' does not exist. Definition values:
       - In `<unknown-file>': "/usr/local/google/home/fmzakari/code/github.com/fzakaria/sqlelf"

✖ Following command exited with code 1:

  /nix/store/y7jg84kb2kr0rln9a33jdlk6vkzkh9ii-nix-2.12.0pre20230216_7c91803/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --system x86_64-linux print-dev-env --profile '/usr/local/google/home/fmzakari/code/github.com/fzakaria/sqlelf/.devenv/gc/shell'
✖ Building shell in 0.6s.

(i uninstalled devenv old, installed new one -> rentered shell)

You'd also need to add to devenv.yaml:
inputs:
  devenv:
    url: github:cachix/devenv/python-rewrite

It seems like we're hitting something similar to nix-community/poetry2nix#596, investigating.

@domenkozar, did you figure out how to get around it, or is that bug still present? I'm experiencing this issue once again.

It seems like we're hitting something similar to nix-community/poetry2nix#596, investigating.

@domenkozar, did you figure out how to get around it, or is that bug still present? I'm experiencing this issue once again.

See how I override the python in package.nix - that works well!

I tried also today out, but the python used by devenv just does not compile. It hangs with configure and does not proceed

What platform? How comes you don't get it from cachix?

I'll comment here once, if there is a better place, please note.
I use the following which works under the 0.63. but not with the 1:
  version:
    url: git+https://gitlab.example.com/myflexpgm.git
    flake: true

  packages = [
    (inputs.myflexpgm.defaultPackage."${builtins.currentSystem}")

->  error: attribute 'currentSystem' missing

I'll comment here once, if there is a better place, please note.
I use the following which works under the 0.63. but not with the 1:
  version:
    url: git+https://gitlab.example.com/myflexpgm.git
    flake: true

  packages = [
    (inputs.myflexpgm.defaultPackage."${builtins.currentSystem}")

-> error: attribute 'currentSystem' missing

We've fixed #658 so now you need to use pkgs.stdenv.system.

Is this branch compatible with being embedded in a flake currently?

It's not yet compatible, bumping Nix and flake compatability is what's left to do.

How would this PR affect Flake based configuration? How could the generated flake be located if they are not submitted to git?

The process manager is completely broken for me. It's stopping no processes on macOS. Just enabled MySQL

The default process manager? Could you provide some logs?

It appears that both devenv.local.nix and the dotenv integrations are broken.
No values appear to be loaded from the devenv.local.nix.
While dotenv is able to be enabled, it prints an error message that it cannot find the .env file regardless of whether using the default .env path or even a hardcoded absolute path as a configuration value.

It appears that both devenv.local.nix and the dotenv integrations are broken.
No values appear to be loaded from the devenv.local.nix.
While dotenv is able to be enabled, it prints an error message that it cannot find the .env file regardless of whether using the default .env path or even a hardcoded absolute path as a configuration value.

Good point, thanks for catching that! Will make the fixes and make sure the tests cover it.

@jclangst it should be fixed, could you give it a try?

Found an additional issue when testing this.
Using this version of devenv, the resulting shell has PYTHONPATH set.
That breaks some packages. A good example is pgadmin4-desktopmode which when run results in the following:
Traceback (most recent call last):
  File "/nix/store/7k0g5s570fx4gmzp934xjm23jkkd1jcg-pgadmin-7.0/bin/.pgadmin4-wrapped", line 6, in <module>
    from pgadmin4.pgAdmin4 import main
  File "/nix/store/7k0g5s570fx4gmzp934xjm23jkkd1jcg-pgadmin-7.0/lib/python3.10/site-packages/pgadmin4/pgAdmin4.py", line 102, in <module>
    app = create_app()
  File "/nix/store/7k0g5s570fx4gmzp934xjm23jkkd1jcg-pgadmin-7.0/lib/python3.10/site-packages/pgadmin4/pgadmin/__init__.py", line 759, in create_app
    app.register_blueprint(module)
  File "/nix/store/fizfk41ad8k4qk9wmsi19pnsp5d4ifm5-python3.10-flask-2.2.5/lib/python3.10/site-packages/flask/scaffold.py", line 50, in wrapper_func
    return f(self, *args, **kwargs)
  File "/nix/store/fizfk41ad8k4qk9wmsi19pnsp5d4ifm5-python3.10-flask-2.2.5/lib/python3.10/site-packages/flask/app.py", line 1299, in register_blueprint
    blueprint.register(self, options)
  File "/nix/store/7k0g5s570fx4gmzp934xjm23jkkd1jcg-pgadmin-7.0/lib/python3.10/site-packages/pgadmin4/pgadmin/misc/__init__.py", line 109, in register
    from .cloud import blueprint as module
  File "/nix/store/7k0g5s570fx4gmzp934xjm23jkkd1jcg-pgadmin-7.0/lib/python3.10/site-packages/pgadmin4/pgadmin/misc/cloud/__init__.py", line 29, in <module>
    from pgadmin.misc.cloud.azure import deploy_on_azure, clear_azure_session
  File "/nix/store/7k0g5s570fx4gmzp934xjm23jkkd1jcg-pgadmin-7.0/lib/python3.10/site-packages/pgadmin4/pgadmin/misc/cloud/azure/__init__.py", line 32, in <module>
    from azure.mgmt.rdbms.postgresql_flexibleservers.models import \
ImportError: cannot import name 'NameAvailabilityRequest' from 'azure.mgmt.rdbms.postgresql_flexibleservers.models' (/nix/store/yrchq6xk5pxsscizwzi9zh1ax1ysznq1-python3.10-azure-mgmt-rdbms-10.1.0/lib/python3.10/site-packages/azure/mgmt/rdbms/postgresql_flexibleservers/models/__init__.py)

Unsetting PYTHONPATH fixes the issues.
However, I am not sure if PYTHONPATH is intended to be set in resulting shells or what issues may occur from unsetting it.
Our workaround is a wrapper around the packages that break that removes the PYTHONPATH.

I do still run something fishy and I'm not sure why yet. Thought I'd share already.
In some of the existing projects I run devenv shell and it shows:
...
• Entering shell
path '.../.devenv/gc/shell' does not contain a '.devenv.flake.nix', searching up

This is the result of devenv calling:
nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux develop '.../.devenv/gc/shell'

It does so because .../.devenv/gc/shell is a symlink to ~/.local/share/.devenv/gc/1694345793165-shell, which does not exist. I verified (using print("exists?", gc_root, Path(gc_root).exists())) right before running nix develop that it indeed does not exist at that time. Any idea / leads?

I do still run something fishy and I'm not sure why yet. Nor whether it is problematic. Thought I'd share already.
In some of the existing projects I run devenv shell and it shows:
...
• Entering shell
path '.../.devenv/gc/shell' does not contain a '.devenv.flake.nix', searching up

This is the result of devenv calling:
nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux develop '.../.devenv/gc/shell'

It does so because .../.devenv/gc/shell is a symlink to ~/.local/share/.devenv/gc/1694345793165-shell, which does not exist. I verified (using print("exists?", gc_root, Path(gc_root).exists())) right before running nix develop that it indeed does not exist at that time. Any idea / leads?

Thanks, I pushed a fix.

Confirmed that the warnings doesn't show anymore :+1: Thanks.
The only thing I'm not too sure of is compatiblity between old/new config+CLI.
A new CLI with old devenv.yaml results in an error like:
error:
       error: flake 'git+file://...' does not provide attribute 'packages.x86_64-linux.devenv.cachix', 'legacyPackages.x86_64-linux.devenv.cachix' or 'devenv.cachix'

An old CLI with new devenv.yaml results in an error like:
error:
       … while updating the lock file of flake 'git+file://...'

       error: unsupported input attribute 'treeHash'

To have some kind of a migration path it would be nice if one of the 2 cases would be compatible. That way we can ask developers to upgrade the CLI and then upgrade devenv.yaml or the other way around. It avoids a lock-step migration with multiple people.

Confirmed that the warnings doesn't show anymore 👍 Thanks.
The only thing I'm not too sure of is compatiblity between old/new config+CLI.
A new CLI with old devenv.yaml results in an error like:
error:
       error: flake 'git+file://...' does not provide attribute 'packages.x86_64-linux.devenv.cachix', 'legacyPackages.x86_64-linux.devenv.cachix' or 'devenv.cachix'

An old CLI with new devenv.yaml results in an error like:
error:
       … while updating the lock file of flake 'git+file://...'

       error: unsupported input attribute 'treeHash'

To have some kind of a migration path it would be nice if one of the 2 cases would be compatible. That way we can ask developers to upgrade the CLI and then upgrade devenv.yaml or the other way around. It avoids a lock-step migration with multiple people.

The new CLI should only warn if cachix integration is failing, could you post the full log?
For the old CLI I'm afraid we can't do much because the lock file has changed. I'm open to ideas here.

I noticed it only happens when using direnv(?). The full output:

direnv: loading ~/tmp/devenv-experiment/.envrc
direnv: loading https://raw.githubusercontent.com/cachix/devenv/d1f7b48e35e6dee421cfd0f51481d17f77586997/direnvrc (sha256-YBzqskFZxmNb3kYVoKD9ZixoPXJh1C9ZvTLGFRkauZ0=)
direnv: using devenv
direnv: .envrc changed, reloading
error:
       error: flake 'git+file:///home/bob.vanderlinden/tmp/devenv-experiment' does not provide attribute 'packages.x86_64-linux.devenv.cachix', 'legacyPackages.x86_64-linux.devenv.cachix' or 'devenv.cachix'

✖ Following command exited with code 1:

  /nix/store/bnbhch04awczibxch0qg4lbc3aksrcvw-nix-devenv-2.18.0/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux eval .#devenv.cachix --json
• Failed to evaluate .#devenv.cachix
• Maybe you need to upgrade to devenv 1.0: https://devenv.sh/getting-started/
[2/5 built, 1/30/31 copied (58.4/93.8 MiB), 10.7/15.5 MiB DL] fetching perl-5.38.0 from https://cache.nixdirenv: ([/nix/store/f84679kq9qvfmhzb2la8m4yqqkba95vl-direnv-2.32.3/bin/direnv export fish]) is taking a while to execute. Use CTRL-C to give up.
direnv: updated devenv shell cache
✨ devenv 1.0 is newer than devenv input in devenv.lock. Run `devenv update` to sync.
direnv: export +C_INCLUDE_PATH +DEVENV_DOTFILE +DEVENV_PROFILE +DEVENV_ROOT +DEVENV_STATE +IN_NIX_SHELL +LD_LIBRARY_PATH +LIBRARY_PATH +PKG_CONFIG_PATH +name ~PATH ~XDG_CONFIG_DIRS ~XDG_DATA_DIRS

To reproduce, here are the files: https://gist.github.com/bobvanderlinden/9957bbbca2cbc83f9f5d9443cd020169

I have tested, i seem work !
Good job,

This rewrite looks great  ! Congratulations ! When we can expect this PR to be all feature complete and we can start testing ?

[...] and we can start testing ?

That's already possible. The cli should work with older devenv configurations. You can install it using:
nix profile install github:cachix/devenv/python-rewrite

I've been using this version with my patches mentioned above. Haven't run into issues.

I have a few projects at $DAYJOB that do not officially support devenv. In order to work, I setup devenv in the project and just ignored the devenv specific files. Today I started trying to work and devenv fails to initialize. I believe it is because the devenv.lock file is ignored by git. But here is the full log when trying to access that directory.

```
direnv: loading ~/path/to/.envrc
direnv: loading https://raw.githubusercontent.com/cachix/devenv/d1f7b48e35e6dee421cfd0f51481d17f77586997/direnvrc (sha256-YBzqskFZxmNb3kYVoKD9ZixoPXJh1C9ZvTLGFRkauZ0=)
direnv: using devenv
direnv: .envrc changed, reloading
warning: creating lock file '/path/to/inner_dir/devenv.lock'
The following paths are ignored by one of your .gitignore files:
inner_dir/devenv.lock
hint: Use -f if you really want to add them.
hint: Turn this message off by running
hint: "git config advice.addIgnoredFile false"
error:
       … while updating the lock file of flake 'git+file:///path/to?dir=inner_dir'
   error: program 'git' failed with exit code 1

✖ Following command exited with code 1:
/nix/store/rcgrb68rhxd899lqb0pgwjwy1jcwlrg5-nix-devenv-2.18.0/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux eval .#devenv.cachix --json
• Failed to evaluate .#devenv.cachix
• Maybe you need to upgrade to devenv 1.0: https://devenv.sh/getting-started/
warning: creating lock file '/path/to/devenv.lock'
evaluating derivation 'git+file:///path/to?dir=inner_dir#devSheThe following paths are ignored by one of your .gitignore files:
inner_dir/devenv.lock
hint: Use -f if you really want to add them.
hint: Turn this message off by running
hint: "git config advice.addIgnoredFile false"
error:
… while updating the lock file of flake 'git+file:///path/to?dir=inner_dir'
   error: program 'git' failed with exit code 1

✖ Following command exited with code 1:
/nix/store/rcgrb68rhxd899lqb0pgwjwy1jcwlrg5-nix-devenv-2.18.0/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux print-dev-env --profile '/path/to/inner_dir/.devenv/gc/shell'  --option extra-trusted-public-keys '' --option extra-substituters ''
direnv: loading the environment failed
direnv: error exit status 1
</details>

So far everything works in my project:
devenv.nix
{pkgs, ...}: {

  packages = [
    pkgs.postgresql
    pkgs.osm2pgsql
    pkgs.qgis
  ];

  enterShell = ''
    echo "shell"
  '';

  services.postgres = {
    enable = true;
    extensions = e: [e.postgis];

    initdbArgs = [
      "--locale=en_US.UTF-8"
      "--encoding=UTF8"
    ];

    settings = {
      shared_buffers = "1GB";
      work_mem = "50MB";
      maintenance_work_mem = "10GB";
      autovacuum_work_mem = "2GB";
      wal_level = "minimal";
      checkpoint_timeout = "60min";
      max_wal_size = "10GB";
      checkpoint_completion_target = 0.9;
      max_wal_senders = 0;
      random_page_cost = 1.0;

      full_page_writes = "off";
      fsync = "off";
    };

    initialDatabases = [
      {
        name = "osm";
        schema = ./osm.sql;
      }
    ];
  };
}

but I always see following error:
error:
       error: flake 'git+file:///home/imincik/Projects/gis/iso-codes/code' does not provide attribute 'packages.x86_64-linux.devenv.cachix', 'legacyPackages.x86_64-linux.devenv.cachix' or 'devenv.cachix'

✖ Following command exited with code 1:

  /nix/store/bnbhch04awczibxch0qg4lbc3aksrcvw-nix-devenv-2.18.0/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux eval .#devenv.cachix --json
• Failed to evaluate .#devenv.cachix
• Maybe you need to upgrade to devenv 1.0: https://devenv.sh/getting-started/

@imincik The patches mentioned in https://github.com/cachix/devenv/pull/745#issuecomment-1722191281 should resolve the confusing error output.

~I noticed it only happens when using direnv(?)~ It happens when using direnv as well as running devenv shell. The full output:
It does continue, but it is shown as an error.
To reproduce, here are the files: https://gist.github.com/bobvanderlinden/9957bbbca2cbc83f9f5d9443cd020169
EDIT: I made some changes to avoid logging the errors: https://github.com/bobvanderlinden/devenv/compare/42b06d40dc74f7b8783858b574293865a8ee1405..0dc0ed7b7184834a728e8533d46065a6606a373f
The output now looks like:
$ devenv shell
• Building shell ...
✔ Building shell in 1.0s.
• Entering shell
✨ devenv 1.0 is newer than devenv input in devenv.lock. Run `devenv update` to sync.

EDIT2: I noticed some inconsistent styling in the python files. Should it be formatted using a pre-commit? https://github.com/bobvanderlinden/devenv/compare/0dc0ed7b7184834a728e8533d46065a6606a373f..56afd36

Could you make a PR for these two changes? Thanks a lot :heart:

processes command is missing help text when running devenv --help
devenv --help

...
  inputs     Manage inputs in devenv.yaml. See http://devenv.sh/inputs/
  processes
  search     Search packages matching NAME in nixpkgs input.
...

Service (in this case postgresql) is not terminated by devenv processes stop.
Devenv configuration
devenv.yaml
inputs:
  devenv:
    url: github:cachix/devenv/python-rewrite
  nixpkgs:
    url: github:NixOS/nixpkgs/nixpkgs-unstable

devenv.nix
{ pkgs, ... }:

{
  services.postgres.enable = true;
}

devenv update executed

$ devenv update

Steps to reproduce

Run services

devenv up -d
• Building processes ...
• Using Cachix: devenv
✔ Building processes in 1.4s.
• Building shell ...
✔ Building shell in 1.4s.
• Starting processes ...
•   PID is 3323104.
•   See logs:  $ tail -f /tmp/devenv-services/.devenv/processes.log
•   Stop:      $ devenv processes stop

Try to stop service (try twice)

devenv processes stop
✔ Stopping processes in 0.0s.

devenv processes stop
• Stopping processes ...✖ No processes running.
✖ Stopping processes in 0.0s.

Check if Postgresql is running (it is)

ps aux | grep postgre
imincik  3323122  0.0  0.0 222740  3080 ?        Ss   20:02   0:00 /nix/store/xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15/bin/bash /nix/store/wlblzf9qis78xv59rd15k2vrjwwyslam-postgres
imincik  3323124  0.0  0.1<PHONE_NUMBER>0 ?        S    20:02   0:00 /nix/store/ki3srrjjzqalvh0hd9lmqavp5v9wr9jp-postgresql-14.9/bin/postgres
imincik  3323128  0.0  0.0 298380  3852 ?        Ss   20:02   0:00 postgres: checkpointer
imincik  3323129  0.0  0.0 298380  5628 ?        Ss   20:02   0:00 postgres: background writer
imincik  3323130  0.0  0.0 298380  5496 ?        Ss   20:02   0:00 postgres: walwriter
imincik  3323131  0.0  0.0 298944  6828 ?        Ss   20:02   0:00 postgres: autovacuum launcher
imincik  3323132  0.0  0.0 282948  4240 ?        Ss   20:02   0:00 postgres: stats collector
imincik  3323133  0.0  0.0 298808  6688 ?        Ss   20:02   0:00 postgres: logical replication launcher

Search is crashing when running devenv search postgres.
Devenv configuration: same as in https://github.com/cachix/devenv/pull/745#issuecomment-1758211464
Steps to reproduce

Run search

devenv search postgres

• Using Cachix: devenv
trace: warning: The type `types.string` is deprecated. See https://github.com/NixOS/nixpkgs/pull/66346 for better alternative types.
Traceback (most recent call last):
  File "/nix/store/gi2g45cnxf9hk39cgdzr7ycdpk08yjji-python3.11-devenv-1.0/bin/.devenv-wrapped", line 9, in <module>
    sys.exit(cli())
             ^^^^^
  File "/nix/store/q85kg00zk53a2i0355v0qczhvid3nq92-python3.11-click-8.1.6/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/q85kg00zk53a2i0355v0qczhvid3nq92-python3.11-click-8.1.6/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/nix/store/q85kg00zk53a2i0355v0qczhvid3nq92-python3.11-click-8.1.6/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/q85kg00zk53a2i0355v0qczhvid3nq92-python3.11-click-8.1.6/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/q85kg00zk53a2i0355v0qczhvid3nq92-python3.11-click-8.1.6/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/q85kg00zk53a2i0355v0qczhvid3nq92-python3.11-click-8.1.6/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/gi2g45cnxf9hk39cgdzr7ycdpk08yjji-python3.11-devenv-1.0/lib/python3.11/site-packages/devenv/cli.py", line 428, in search
    (key, value["type"], value["default"], value["description"][:80])
                         ~~~~~^^^^^^^^^^^
KeyError: 'default'

Also, my other observation is that the search looks slower than in current stable version. It evaluates even when running the same search command again.
Steps to reproduce

Search for hello package (run it twice)

time devenv search hello
...
devenv search hello  14.52s user 1.91s system 97% cpu 16.768 total

time devenv search hello
...
devenv search hello  14.71s user 1.99s system 90% cpu 18.436 total

Another very important thing for my use cases is ability to follow nixpkgs version from other input flake.
For example, use nixpkgs version from myflake:
inputs:
  myflake:
    url: github:myrepo/myflake

  nixpkgs:
    follows: geonix/nixpkgs

This configuration is currently not allowed by YAML schema validation specified in yaml.py.
I made it working using following patch, but it would be better if url and follows would be mutually exclusive required objects:
diff --git a/src/devenv/yaml.py b/src/devenv/yaml.py
index 825dbcc..9b696f1 100644
--- a/src/devenv/yaml.py
+++ b/src/devenv/yaml.py
@@ -11,7 +11,9 @@ inputsSchema = EmptyDict() | MapPattern(
     Str(),
     Map(
         {
-            "url": Str(),
+            # "url": Str(),
+            Optional("url", default=None): Str(),
+            Optional("follows", default=None): Str(),
             Optional("flake", default=None): Bool(),
             Optional("inputs", default=None): Any(),
             Optional("overlays", default=None): Seq(Str()),
@@ -50,7 +52,7 @@ def validate_and_parse_yaml(dot_devenv_root):

     inputs = {}
     for input, attrs in devenv.get("inputs", {}).items():
-        inputs[input] = {k: attrs[k] for k in ("url", "inputs", "flake") if k in attrs}
+        inputs[input] = {k: attrs[k] for k in ("url", "follows", "inputs", "flake") if k in attrs}

     with open(os.path.join(dot_devenv_root, "flake.json"), "w") as f:
         f.write(json.dumps(inputs))

I haven’t used devenv much but I’m currently testing it out a bit.
First I integrated version 0.63 into my project and then migrated it to version 1.0.
I didn’t really encounter any issues, however I’m using the declarative Flakes approach so some things like devenv up -d aren’t working/available.
Probably because of the task “ Fix flake.nix support”?
The only thing that I missed compared to my personal setup is random ports.
I’m investing this as part of my work and one of the soft requirements was that it would be nice to launch multiple instances without port collisions.
I was just using this code to generate the port numbers export WEBPORT=$(($RANDOM + 1100)).
There’s of course still a chance of getting a collision but they are fairly rare and you can just reload the environment to “fix” it.
Not exactly what I would call a pretty solution but at least one doesn’t have to edit a file.

Command devenv test is documented in the list of commands, but it is not clear how to configure it. URL http://devenv.sh/tests/ doesn't exist.
$ devenv
Usage: devenv [OPTIONS] COMMAND [ARGS]...

  https://devenv.sh: Fast, Declarative, Reproducible, and Composable
  Developer Environments.

Options:
  -v, --verbose              Enable verbose output.
  -n, --nix-flags NIX-FLAGS  Flags to pass to Nix. See `man nix.conf 5`.
                             Example: --nix-flags "--option bash-prompt >"
  -d, --debugger             Enable Nix debugger.
  -s, --system TEXT          Nix system to use.
  -o, --offline              Disable network access.
  --help                     Show this message and exit.

Commands:
...
  test       Run tests. See http://devenv.sh/tests/
...

Command devenv test is documented in the list of commands, but it is not clear how to configure it. URL http://devenv.sh/tests/ doesn't exist.

You can find the documentation at https://python-rewrite.devenv.pages.dev/tests/

Github CI is crashing on out of memory on any attempt to enter the shell. The same project works with current stable version.
Run devenv shell pre-commit run --all --show-diff-on-failure
• Building shell ...
error: out of memory

✖ Building shell in 88.3s.
Error: Process completed with exit code 1.

Command devenv test is documented in the list of commands, but it is not clear how to configure it. URL http://devenv.sh/tests/ doesn't exist.

You can find the documentation at https://python-rewrite.devenv.pages.dev/tests/

Thank you for explanation @ankhers . So it is something like NixOS test for devenv environment.

I found a strange bug while trying out devenv 1.0 with some of my existing devenv-managed projects...
For Python environments I usually had this in my devenv.nix to get around some issues with shared libraries not being found.
  enterShell = ''
    echo -e "\n$GREET\n"
    # See [here](https://discourse.nixos.org/t/nixos-with-poetry-installed-pandas-libstdc-so-6-cannot-open-shared-object-file/8442/9) why this is needed
    export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath [
      pkgs.stdenv.cc.cc
    ]}
  '';

Since I wanted to see if this export was still necessary with devenv 1.0, I tried commenting it out.
  enterShell = ''
    echo -e "\n$GREET\n"
    # See [here](https://discourse.nixos.org/t/nixos-with-poetry-installed-pandas-libstdc-so-6-cannot-open-shared-object-file/8442/9) why this is needed
    # export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath [
    #   pkgs.stdenv.cc.cc
    # ]}
  '';

Surprisingly this fails, so it seems as if comments containing braces and brackets in enterShell are not properly handled.
With devenv 0.6.3 and versions prior this was not an issue.

The error log can be seen below
• Building shell ...
error:
       … while evaluating the attribute 'config'

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:320:9:

          319|         options = checked options;
          320|         config = checked (removeAttrs config [ "_module" ]);
             |         ^
          321|         _module = checked (config._module);

       … while calling the 'seq' builtin

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:320:18:

          319|         options = checked options;
          320|         config = checked (removeAttrs config [ "_module" ]);
             |                  ^
          321|         _module = checked (config._module);

       … while evaluating a branch condition

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:261:9:

          260|       checkUnmatched =
          261|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
             |         ^
          262|           let

       … in the left operand of the AND (&&) operator

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:261:72:

          260|       checkUnmatched =
          261|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
             |                                                                        ^
          262|           let

       … in the left operand of the AND (&&) operator

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:261:33:

          260|       checkUnmatched =
          261|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
             |                                 ^
          262|           let

       … while evaluating a branch condition

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:254:12:

          253|
          254|         in if declaredConfig._module.freeformType == null then declaredConfig
             |            ^
          255|           # Because all definitions that had an associated option ended in

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:242:28:

          241|           # For definitions that have an associated option
          242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                            ^
          243|

       … while calling 'mapAttrsRecursiveCond'

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/attrsets.nix:624:5:

          623|     # Attribute set to recursively map over.
          624|     set:
             |     ^
          625|     let

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:234:33:

          233|           ({ inherit lib options config specialArgs; } // specialArgs);
          234|         in mergeModules prefix (reverseList collected);
             |                                 ^
          235|

       … while calling 'reverseList'

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/lists.nix:510:17:

          509|   */
          510|   reverseList = xs:
             |                 ^
          511|     let l = length xs; in genList (n: elemAt xs (l - n - 1)) l;

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:229:25:

          228|       merged =
          229|         let collected = collectModules
             |                         ^
          230|           class

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:443:37:

          442|
          443|     in modulesPath: initialModules: args:
             |                                     ^
          444|       filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:444:7:

          443|     in modulesPath: initialModules: args:
          444|       filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
             |       ^
          445|

       … while calling 'filterModules'

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:411:36:

          410|       # modules recursively. It returns the final list of unique-by-key modules
          411|       filterModules = modulesPath: { disabled, modules }:
             |                                    ^
          412|         let

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:437:31:

          436|           disabledKeys = concatMap ({ file, disabled }: map (moduleKey file) disabled) disabled;
          437|           keyFilter = filter (attrs: ! elem attrs.key disabledKeys);
             |                               ^
          438|         in map (attrs: attrs.module) (builtins.genericClosure {

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:398:22:

          397|           let
          398|             module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x);
             |                      ^
          399|             collectedImports = collectStructuredModules module._file module.key module.imports args;

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:363:11:

          362|         else
          363|           m: m;
             |           ^
          364|

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:398:35:

          397|           let
          398|             module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x);
             |                                   ^
          399|             collectedImports = collectStructuredModules module._file module.key module.imports args;

       … while calling 'loadModule'

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:334:53:

          333|       # Like unifyModuleSyntax, but also imports paths and calls functions if necessary
          334|       loadModule = args: fallbackFile: fallbackKey: m:
             |                                                     ^
          335|         if isFunction m then

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:352:14:

          351|           throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}"
          352|         else unifyModuleSyntax (toString m) (toString m) (applyModuleArgsIfFunction (toString m) (import m) args);
             |              ^
          353|

       … while calling 'unifyModuleSyntax'

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:452:34:

          451|      of ‘options’, ‘config’ and ‘imports’ attributes. */
          452|   unifyModuleSyntax = file: key: m:
             |                                  ^
          453|     let

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:352:59:

          351|           throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}"
          352|         else unifyModuleSyntax (toString m) (toString m) (applyModuleArgsIfFunction (toString m) (import m) args);
             |                                                           ^
          353|

       … while calling 'applyModuleArgsIfFunction'

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:486:39:

          485|
          486|   applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }:
             |                                       ^
          487|     if isFunction f then applyModuleArgs key f args else f;

       … from call site

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/modules.nix:487:8:

          486|   applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }:
          487|     if isFunction f then applyModuleArgs key f args else f;
             |        ^
          488|

       … while calling 'isFunction'

         at «github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035»/lib/trivial.nix:448:16:

          447|   */
          448|   isFunction = f: builtins.isFunction f ||
             |                ^
          449|     (f ? __functor && isFunction (f.__functor f));

       at /home/<user>/<repo>/devenv.nix:14:5:

           13|     # ]}
           14|   '';
             |     ^
           15|

       error: syntax error, unexpected end of file, expecting IND_STR or DOLLAR_CURLY or IND_STRING_CLOSE

Python interpreter appears in shell environment even if not configured by devenv.nix.
Devenv configuration
devenv.yaml
inputs:
  devenv:
    url: github:cachix/devenv/python-rewrite
  nixpkgs:
    url: github:NixOS/nixpkgs/nixpkgs-unstable

devenv.nix
{ pkgs, ... }:

{
  services.postgres.enable = true;
}

Steps to reproduce

verify that I don't have any python installed outside of Devenv shell

$ python
The program 'python' is not in your PATH. It is provided by several packages.
You can make it available in an ephemeral shell by typing one of the following:

try to run python in Devenv shell - it is there

devenv shell python --version
• Building shell ...
✔ Building shell in 1.5s.

Python 3.11.5

When running nix flake show using Devenv's provided nix build it fails.

Get nix version used by Devenv

devenv -v info | grep "Running command:"
• Running command: /nix/store/bnbhch04awczibxch0qg4lbc3aksrcvw-nix-devenv-2.18.0/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux flake metadata
• Running command: /nix/store/bnbhch04awczibxch0qg4lbc3aksrcvw-nix-devenv-2.18.0/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux eval --raw '.#info'

Try to run nix flake show

/nix/store/bnbhch04awczibxch0qg4lbc3aksrcvw-nix-devenv-2.18.0/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false --option eval-cache false --system x86_64-linux flake show
path:/home/imincik/Projects/nix/devenv-test-python/small
├───devShell
│   └───x86_64-linux: development environment 'devenv-shell'
├───devenv: unknown
└───packages
    └───x86_64-linux
        ├───ci: package 'ci'
error:
       error: expected a derivation

:wave: another bug report
Cannot use a python(?) package
All defaults after init
{pkgs, ...}: {
  # https://devenv.sh/basics/
  env.GREET = "devenv";

  packages = [pkgs.awscli2]
}

Package exists
$ devenv search awscli2
• Using Cachix: devenv
trace: warning: The type `types.string` is deprecated. See https://github.com/NixOS/nixpkgs/pull/66346 for better alternative types.
trace: warning: libsForQt5 now uses makeScopeWithSplicing which does not have "overrideScope'", use "overrideScope".
+--------------+---------+------------------------------------------+
| Package      | Version | Description                              |
+--------------+---------+------------------------------------------+
| pkgs.awscli2 | 2.13.33 | Unified tool to manage your AWS services |
+--------------+---------+------------------------------------------+

Error log on shell activiation:

error:
       … while calling the 'derivationStrict' builtin

         at <nix/derivation-internal.nix>:9:12:

            8|
            9|   strict = derivationStrict drvAttrs;
             |            ^
           10|

       … while evaluating derivation 'devenv-shell'
         whose name attribute is located at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'DEVENV_PROFILE' of derivation 'devenv-shell'

         at «none»:0: (source not available)

       … while evaluating derivation 'devenv-profile'
         whose name attribute is located at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'passAsFile' of derivation 'devenv-profile'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/build-support/trivial-builders/default.nix:88:7:

           87|       inherit buildCommand name;
           88|       passAsFile = [ "buildCommand" ]
             |       ^
           89|         ++ (derivationArgs.passAsFile or []);

       … while evaluating derivation 'awscli2-2.13.33'
         whose name attribute is located at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'nativeBuildInputs' of derivation 'awscli2-2.13.33'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:392:7:

          391|       depsBuildBuild              = elemAt (elemAt dependencies 0) 0;
          392|       nativeBuildInputs           = elemAt (elemAt dependencies 0) 1;
             |       ^
          393|       depsBuildTarget             = elemAt (elemAt dependencies 0) 2;

       … while evaluating derivation 'python3.11-jsonschema-4.19.0'
         whose name attribute is located at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'nativeBuildInputs' of derivation 'python3.11-jsonschema-4.19.0'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:392:7:

          391|       depsBuildBuild              = elemAt (elemAt dependencies 0) 0;
          392|       nativeBuildInputs           = elemAt (elemAt dependencies 0) 1;
             |       ^
          393|       depsBuildTarget             = elemAt (elemAt dependencies 0) 2;

       … while evaluating derivation 'python3.11-pip-23.2.1'
         whose name attribute is located at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'nativeBuildInputs' of derivation 'python3.11-pip-23.2.1'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:392:7:

          391|       depsBuildBuild              = elemAt (elemAt dependencies 0) 0;
          392|       nativeBuildInputs           = elemAt (elemAt dependencies 0) 1;
             |       ^
          393|       depsBuildTarget             = elemAt (elemAt dependencies 0) 2;

       … while evaluating derivation 'python3.11-sphinx-7.2.6'
         whose name attribute is located at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'propagatedBuildInputs' of derivation 'python3.11-sphinx-7.2.6'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:402:7:

          401|       depsHostHostPropagated      = elemAt (elemAt propagatedDependencies 1) 0;
          402|       propagatedBuildInputs       = elemAt (elemAt propagatedDependencies 1) 1;
             |       ^
          403|       depsTargetTargetPropagated  = elemAt (elemAt propagatedDependencies 2) 0;

       … while evaluating derivation 'python3.11-requests-2.31.0'
         whose name attribute is located at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:348:7

       … while evaluating attribute 'propagatedBuildInputs' of derivation 'python3.11-requests-2.31.0'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:402:7:

          401|       depsHostHostPropagated      = elemAt (elemAt propagatedDependencies 1) 0;
          402|       propagatedBuildInputs       = elemAt (elemAt propagatedDependencies 1) 1;
             |       ^
          403|       depsTargetTargetPropagated  = elemAt (elemAt propagatedDependencies 2) 0;

       … while calling 'getOutput'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/lib/attrsets.nix:962:23:

          961|   */
          962|   getOutput = output: pkg:
             |                       ^
          963|     if ! pkg ? outputSpecified || ! pkg.outputSpecified

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:308:13:

          307|       (map (drv: drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHostPropagated" depsHostHostPropagated))
          308|       (map (drv: drv.__spliced.hostTarget or drv) (checkDependencyList "propagatedBuildInputs" propagatedBuildInputs))
             |             ^
          309|     ]

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/lib/lists.nix:164:29:

          163|   */
          164|   imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list);
             |                             ^
          165|

       … from call site

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/lib/lists.nix:164:32:

          163|   */
          164|   imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list);
             |                                ^
          165|

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:261:73:

          260|   checkDependencyList = checkDependencyList' [];
          261|   checkDependencyList' = positions: name: deps: flip imap1 deps (index: dep:
             |                                                                         ^
          262|     if isDerivation dep || dep == null || builtins.isString dep || builtins.isPath dep then dep

       … from call site

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/stdenv/generic/make-derivation.nix:262:8:

          261|   checkDependencyList' = positions: name: deps: flip imap1 deps (index: dep:
          262|     if isDerivation dep || dep == null || builtins.isString dep || builtins.isPath dep then dep
             |        ^
          263|     else if isList dep then checkDependencyList' ([index] ++ positions) name dep

       … while calling 'isDerivation'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/lib/attrsets.nix:670:5:

          669|     # Value to check.
          670|     value: value.type or null == "derivation";
             |     ^
          671|

       … while calling 'checkDrv'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/development/interpreters/python/mk-python-derivation.nix:174:16:

          173|
          174|     checkDrv = drv:
             |                ^
          175|       if (isPythonModule drv) && (isMismatchedPython drv)

       … from call site

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/development/interpreters/python/mk-python-derivation.nix:175:11:

          174|     checkDrv = drv:
          175|       if (isPythonModule drv) && (isMismatchedPython drv)
             |           ^
          176|       then throwMismatch drv

       … while calling 'isPythonModule'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/development/interpreters/python/mk-python-derivation.nix:129:22:

          128|   validatePythonMatches = attrName: let
          129|     isPythonModule = drv:
             |                      ^
          130|       # all pythonModules have the pythonModule attribute

       … from call site

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/tools/admin/awscli2/default.nix:22:17:

           21|       });
           22|       urllib3 = prev.urllib3.overridePythonAttrs (prev: {
             |                 ^
           23|         format = "setuptools";

       … while calling 'overridePythonAttrs'

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/development/interpreters/python/python-packages-base.nix:21:35:

           20|           passthru = (previousAttrs.passthru or { }) // {
           21|             overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs);
             |                                   ^
           22|           };

       … from call site

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/lib/trivial.nix:430:7:

          429|     { # TODO: Should we add call-time "type" checking like built in?
          430|       __functor = self: f;
             |       ^
          431|       __functionArgs = args;

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/development/interpreters/python/python-packages-base.nix:16:63:

           15|   # This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`.
           16|   makeOverridablePythonPackage = f: lib.mirrorFunctionArgs f (origArgs:
             |                                                               ^
           17|     let

       … from call site

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/lib/trivial.nix:430:7:

          429|     { # TODO: Should we add call-time "type" checking like built in?
          430|       __functor = self: f;
             |       ^
          431|       __functionArgs = args;

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/lib/customisation.nix:84:17:

           83|     in
           84|     mirrorArgs (origArgs:
             |                 ^
           85|     let

       … from call site

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/lib/trivial.nix:430:7:

          429|     { # TODO: Should we add call-time "type" checking like built in?
          430|       __functor = self: f;
             |       ^
          431|       __functionArgs = args;

       … while calling anonymous lambda

         at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/development/interpreters/python/mk-python-derivation.nix:30:1:

           29|
           30| { name ? "${attrs.pname}-${attrs.version}"
             | ^
           31|

       at «github:NixOS/nixpkgs/51a01a7e5515b469886c120e38db325c96694c2f»/pkgs/development/interpreters/python/mk-python-derivation.nix:110:1:

          109|
          110| assert (pyproject != null) -> (format == null);
             | ^
          111|

awscli2 works without devenv:
$ nix-shell -p awscli2 --command "aws --version"
aws-cli/2.13.33 Python/3.11.5 Linux/6.2.0-36-generic source/x86_64.ubuntu.22 prompt/off

Devenv is failing on version GLIBC_2.38' not found`.
devenv.nix
{ pkgs, ... }: {

  packages = [
    # qgis currently works only on linux
  ] ++ pkgs.lib.optionals pkgs.stdenv.isLinux [
    pkgs.qgis
    pkgs.grass
  ];

  languages.python = {
    enable = true;
    package = pkgs.python3.withPackages (p: [
      p.rasterio
      p.fiona
    ]);
  };

  services = {
    postgres = {
      enable = true;
      extensions = e: [ e.postgis ];
    };
  };
}

Command:
devenv up

/nix/store/cl6bxs1bad3bbw6fhhrvdq1vlihqjqqg-python3-3.11.4/bin/python3.11: /nix/store/vq3sdi8l15rzfl5zvmwpafrzis4sm6xf-glibc-2.37-8/lib/libm.so.6: version `GLIBC_2.38' not found (required by /nix/store/jippvc3nhbzl961dfs6xxr1n4hiiknhh-devenv-profile/lib/libpython3.11.so.1.0)
/nix/store/cl6bxs1bad3bbw6fhhrvdq1vlihqjqqg-python3-3.11.4/bin/python3.11: /nix/store/vq3sdi8l15rzfl5zvmwpafrzis4sm6xf-glibc-2.37-8/lib/libc.so.6: version `GLIBC_2.38' not found (required by /nix/store/jippvc3nhbzl961dfs6xxr1n4hiiknhh-devenv-profile/lib/libpython3.11.so.1.0)

Can't use Python configured via languages.python.
Devenv configuration
devenv.yaml
inputs:
  devenv:
    url: github:cachix/devenv/python-rewrite
  nixpkgs:
    url: github:NixOS/nixpkgs/nixpkgs-unstable

devenv.nix
{ pkgs, ... }:

{
  languages.python = {
    enable = true;
    package = pkgs.python3.withPackages (p: [
      p.rasterio
      p.fiona
    ]);
  };
}

Steps to reproduce

launch Devenv shell

devenv shell

try to import Python fiona module

python -c 'import fiona'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'fiona'

I'm sorry if it has already been tracked, but if you declare LD_LIBRARY_PATH inside the current wrapper, if you manage a project using poetry, you will not be able to access the shared library because poetry will not use the wrapped python. This will cause problems.

For some reason it seems like the interpreter before wrapping is being referenced

This branch, in conjunction with setting enterShell to include:
export LD_LIBRARY_PATH=${pkgs.stdenv.cc.cc.lib}/lib/;

was able to get us past being unable to find libstdc++.so.6 when uses various python packages (like grpc, or pandas).

Yes, I understand that, but the purpose of this branch is supposed to be that LD_LIBRARY_PATH is not transparent throughout the development environment.
In fact, python.nix uses makeWrap to show variables only to python.

I'm sorry if this has already been tracked, but with the current method of declaring LD_LIBRARY_PATH inside the wrapper, when managing a project using poetry, it is difficult to access the shared library because poetry does not use wrapped python. This will cause problems.

As far as I can see, this currently open pull-request over on nixpkgs should fix that issue: nixos/nixpkgs#250935

An example I believe is analogous to https://github.com/cachix/devenv/pull/507#issuecomment-1660105656 is in https://github.com/cachix/devenv/pull/507#issuecomment-1846531382 .

FWIW, unlike on the master branch, on this branch, if the languages.python config is:
  languages.python = {
    enable = true;
    # https://github.com/cachix/devenv/issues/901
    # version = "3.11.6";
    venv = {
      enable = true;
      requirements = ./requirements-devenv.txt;
    };
  };

In flakes mode, it will run pip install of the requirements every time you invoke nix develop --impure as well as when you run devenv up.
I'm trying to investigate.

Thanks to @mcdonc we have Python working with native dependencies: https://github.com/cachix/devenv/pull/939

I tested it against our current setup and haven't found any problems so far.
locale -a shows now not just the system locales which is nice.

Continuation of this work is ready for another round of testing: https://github.com/cachix/devenv/pull/1005


Omit claims property from auth errors when logging

By default when using LoggingError, all properties on the error object are logged.  In the case of auth errors, we need the claims returned in the auth error to be available at runtime to get a new token (or something), but we don't want that logged.  So tag it as such.
I don't believe the data in claims is actually user data from looking at logs, but it is not necessary to be in the logs and we want to err on the side of logging less, esp around auth.

@vladsud, @AndreiZe - I am not able to finish this now, I thought I was going to just pop online and merge it but between the API Docs failure (I checked in the updated md files and npm run build:docs:ci passes on my machine...) and Vlad's comments, I'm going to walk away.  If it's deemed urgent feel free to pick it up.  I don't think it is - in experience the claims isn't really PII, it's just causing noise in Ruchika's query.

@AndreiZe - FYI this particular case is mitigated via #6900


Problem about JointModelFreeFlyer initial placement

Hi,
I want to ask if the initial placement of a JointModelFreeFlyer is related to the definition of floatingbase in urdf? For example:
<link
    name="floating_base">
    <inertial>
      <origin
        xyz="0.00024495 -0.0012722 -0.067949"
        rpy="0 0 0" />

I have a robot with leg and tried to find the foot position with some configuration. It appears that the orientation of the floating base is not as expected because when the foot position sign is opposite to expected.
Of course this can also be caused by the different definition of revolute joint zero position. I used rviz to check the zero position of revolute joints. What is the pinocchio convention of handling zero position?

Sorry, but your issue is not clear at all.
I don't get what do you expect.

Hi @xeonz1 The origin in the link corresponds to the position of the link w.r.t it's parent. So for a zero joint configuration, the floating_base should appear at the position specified in the origin in your example

Thanks for the reply. I have a floating_base link defined as
    <inertial>
      <origin
        xyz="0.00024495 -0.0012722 -0.067949"
        rpy="0 0 0" />

Then I run
import pinocchio
import numpy as np
from quat2euler import *
robot, robot_collison, robot_visual = pinocchio.buildModelsFromUrdf(
    "./robotfb.urdf", root_joint=pinocchio.JointModelFreeFlyer()
)
data = robot.createData()
q = np.array([0, 0, 0]+ euler2quat_math([0]*3))
print(pinocchio.centerOfMass(robot, data, q))

with the output
[0.00024495 0.0012722  0.067949  ]

Why it is not the same as  and appears that the floating_base is revoluted by 180 degree w.r.t. its x-axis?

It depends on your convention for Euler angles I would say.
Use the eigenpy (Eigen Python bindings) to get the correct convention.
You can also use pin.SE3ToXYZQuat(pin.SE3.Identity())

It depends on your convention for Euler angles I would say. Use the eigenpy (Eigen Python bindings) to get the correct convention. You can also use pin.SE3ToXYZQuat(pin.SE3.Identity())

For
print(pinocchio.se3ToXYZQUAT(pinocchio.SE3().Identity()))

I get [0. 0. 0. 0. 0. 0. 1.]
and for my euler2quat_math I get for non-rotation quaternion [1,0,0,0]
What is the definition of quaternion in pinocchio?

This is the one of Eigen (x,y,z,w).

This is the one of Eigen (w,x,y,z).

Ok. My problem is solved.


Update the autocomplete so that screen readers behave properly

Describe the bug
When a screen reader gets to the autocomplete it will read out the hidden accessibility text first before the descriptive label. This needs to be changed so that the label and hint for the autocomplete is read first before the hidden accessibility text.
The autocomplete should also close the options list on blur as that is causing some confusion with screen readers which can cause text to be read out of order again.
All of the examples in the government design accessible autocomplete close on blur so I think we should follow suit.
https://alphagov.github.io/accessible-autocomplete/examples/

closed by https://github.com/Capgemini/dcx-react-library/pull/645


feat(kcd-recompile): watch deeply if the expression is an object

Setup a deep $watch if the given expression to kcd-recompile references an object.
Lacking changes in Docs/Tests(well...) for this addition, so it may need some revision.
Closes #2

cc @kentcdodds

Looks perfect. Thanks!

Happy to be of help, cheers!


Landing page migration, TOC tweaks

Docs Build status updates of commit 013426d:
:warning: Validation status: warnings

File
Status
Preview URL
Details

academic-services/knowledge-exploration-service/index.yml
:warning:Warning

Details

academic-services/project-academic-knowledge/index.yml
:warning:Warning

Details

academic-services/breadcrumb/toc.yml
:white_check_mark:Succeeded

academic-services/graph/TOC.yml
:white_check_mark:Succeeded

academic-services/graph/index.yml
:white_check_mark:Succeeded

academic-services/index.yml
:white_check_mark:Succeeded

academic-services/project-academic-knowledge/TOC.yml
:white_check_mark:Succeeded

academic-services/knowledge-exploration-service/index.yml

Line 24, Column 18: [Warning-file-not-found] Invalid file link: 'concept-queries.md'.
Line 45, Column 18: [Warning-file-not-found] Invalid file link: 'concept-query-expressions.md'.

academic-services/project-academic-knowledge/index.yml

Line 24, Column 18: [Warning-file-not-found] Invalid file link: 'concept-queries.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

See https://review.docs.microsoft.com/en-us/academic-services/?branch=DarrinEide%2FMigrateLandingPages to review

Docs Build status updates of commit b0b5e48:
:warning: Validation status: warnings

File
Status
Preview URL
Details

academic-services/knowledge-exploration-service/index.yml
:warning:Warning

Details

academic-services/project-academic-knowledge/index.yml
:warning:Warning

Details

academic-services/breadcrumb/toc.yml
:white_check_mark:Succeeded

academic-services/graph/TOC.yml
:white_check_mark:Succeeded

academic-services/graph/index.yml
:white_check_mark:Succeeded

academic-services/index.yml
:white_check_mark:Succeeded

academic-services/knowledge-exploration-service/TOC.yml
:white_check_mark:Succeeded

academic-services/project-academic-knowledge/TOC.yml
:white_check_mark:Succeeded

academic-services/knowledge-exploration-service/index.yml

Line 24, Column 18: [Warning-file-not-found] Invalid file link: 'concept-queries.md'.
Line 45, Column 18: [Warning-file-not-found] Invalid file link: 'concept-query-expressions.md'.

academic-services/project-academic-knowledge/index.yml

Line 24, Column 18: [Warning-file-not-found] Invalid file link: 'concept-queries.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Constant-time verification with Valgrind

This pull request marks secret data as uninitialized, which causes Memcheck to throw an error when a pointer expression, conditional jump or conditional move depends on the secret data. This allows verification that a function is constant-time, with respect to the secret data.

Fixed check_mem.h for Check 0.11
Added MARK_SECRET_DATA and UNMARK_SECRET_DATA to inform Valgrind should be handled in constant-time
Added Valgrind to Travis CI
Skip speed tests when running on Valgrind
Split curve tests into individual tests (to reduce individual test case time)
Added MARK_SECRET_DATA in test_ed25519 and test_ed25519_cosi to verify ed25519-donna is constant-time

Wow! Great work, thank you very much!


Ability to specify which Firestore database to use

On July 7th, Google released a new feature allowing multiple Firestore databases to be created within a GCP project.
This makes it possible to have separate environments that can be used for development, without having to rely on the outdated and buggy emulator. However, this SDK needs to be updated to support this new feature. Is this something that is planned for release?

This is currently a highly desired feature for us as we'd like to use the new multiple database functionality!

https://github.com/googleapis/nodejs-datastore/pull/1090 will add such a feature

This feature has been released.


Gallery app closes immediately

When I installed miui core and then the gallery magisk module, the app closes.
I´m not able to use it. I´m using latest versions both magisk modules.

I will never support 'talking only' without sending proper logs. If you want a fix, then read #bug_report carefully, and send required files to the author.
Support & Bug Report
https://t.me/androidryukimodsdiscussions/2618
If you don't do above, issues will be closed immediately

Okey thank you, don´t be angry with me I didn´t know this Telegram group


How to get selected photo?

Hey there Jean,
Thanks for the library, it's pretty cool.
Is there a way to know which photo was selected by the user? I tap on the image, it gets focus on screen but I'd like now to either display a button in there so the user can use the photo or somehow find out which photo was selected.
Is this possible?
Thanks!

Hello Felipe! 😀
For while the library does not support getting the current photo clicked by the user :/
Maybe it can be a future feature on the next version. Feel free to send PR if you have a better solution for this problem.


Un-cache CredentialManager if issuer re-issues

Signed-off-by: Ian Costanzo<EMAIL_ADDRESS>Fix for issue https://app.zenhub.com/workspaces/von---verifiable-organization-network-5adf53987ccbaa70597dbec0/issues/bcgov/theorgbook/880

Upon further testing this is not working as planned, back to the drawing board!

Upon re-testing it's working fine!


Add a prominent deprecation notice

@belak has started merging contributions at the original repo! 🚀
So, it's time to deprecate this fork. Here's a prominent notice sending people back to the original.

Perhaps the "Upgrading from sorin-ionescu/prezto" section should be removed as well?

The notice is pretty hard to miss.
I think those upgrade instructions are useful as historical reference. People who followed them before may come to look for them, wondering, what commands did I run again??
I could add a second clarifying note, if you think folks legitimately will be confused.

No I suppose that makes sense. :)

Maybe we should put how to reset back to sorin-ionescu/prezto in the deprecation notice?
cd "${ZDOTDIR:-$HOME}/.zprezto"
git remote set-url origin https://github.com/sorin-ionescu/prezto.git
git pull
git submodule update --init --recursive

Hmmm. I wouldn't expect those instructions to work. They'd preserve the commits from the fork, not to mention cause a million merge conflicts. Have you tested them?
If we can develop some instructions that are tested and safe, I'd love to include them. They could also be added at a later time.

Perhaps moving .zprezto to bkp.zprezto and re-cloning would be simplest.

+1
I agree that we should give some type of indication on how to reset back. Has anyone tried to change the remote repo and just do a git fetch and git reset --hard HEAD

so far i had to move and redo the install myself.

A hard reset would risk losing local commits into the ether of the git reflog, as well as losing uncommitted changes. I'd be more comfortable with a backup and reinstall.

Not sure if it's been discussed already, and it would probably break things even more than what's being discussed here for people that have switched to this fork, but…
I think @sorin-ionescu expressed some interest in https://github.com/sorin-ionescu/prezto/issues/1239#issuecomment-285602892 toward moving the prezto project to the zsh-users organization.
I like seeing projects that start as a personal repo on GH move to an organization, to me, it's often a sign that the project has some maturity and a community of some kind behind it.

I'd like to get this notice in sooner rather than later... once it goes in, someone can open a new PR and debate about the best way for people to migrate back.

Agreed. @johnpneumann could you mark it approved? I can't merge it until you do.

Approved

@Cottser I spoke of my past misdeeds. I don't want to move it at the moment but get long-lived issues fixed. I have added contributors.


ninja: error: loading 'build.ninja': No such file or directory

I got this error when trying to build by running ninja -C out/ios_64 AppRTCMobile
ninja: error: loading 'build.ninja': No such file or directory
is there a way to create such file?

Okay it appears while i was busy building the webrtc framework i opened another terminal and brew install ninja. By the time it came to the ninja files being generated by gn, somehow it didn't generate.|
I solved this by deleting my webrtc_build folder. So i basically deleted everything. Then i ran brew uninstall ninja. After that was uninstalled, i refollowed you steps and it worked like a charm.
Thank you so much!


Hardware Acceleration

Any idea what steps need to be done to support Hardware Acceleration?
I suppose:

setting FFmpegEncoder="intel" in the settings, see https://docs.photoprism.app/getting-started/config-files/#file-converters
How can i adapt the PHOTOPRISM_INIT variable see https://docs.photoprism.app/getting-started/advanced/transcoding/#intel-quick-sync?

2. How can i adapt the PHOTOPRISM_INIT variable

Add it to the .env file, as described in the guide.


BUG: Address valgrind leaks for classes which use ScanlineFilterCommon

The ScanlineFilterCommon class is used with multiple inheritance. This
class held a shared pointer to the other parent which could never be
released to the derived classes holding a reference to
themselves. Change the self pointer to a WeakPointer to avoid circular
dependencies.

It should reduce it by several hundred. I think there may be other issues related to threading or barriers.

The Valgrind defect count reduced from 879 to 12! Wow!
Moreover, the remaining 12 defects are for me and @phcerdan to address 😄


Upgrade Mesh Surface tool creates flickering black triangles on mesh

Tested versions
Issue occurs in Godot 4.2.1 and 4.3 dev1, both .Net version
Issue does not occur in Godot 4.1 .Net version
System information
Win10 22H2, Godot 4.2.1 .Net, RTX 3070
Issue description
When upgrading mesh using Upgrade Mesh Surface tool or importing mesh in Godot 4.2 and onwards, some meshes get black triangles that flicker when moving the camera. The flicker looks like Z-fighting to me.
When mesh is viewed in Godot 4.1 .Net, the black triangles do not appear.
Steps to reproduce
.GLB file: https://filebin.net/dtarvnlizuworxx8

Create project using Godot 4.1 .Net
Import and instantiate piece.glb in the 3D game world. You may need to zoom out to see the mesh.
The mesh does not have black triangles.
Save the project, then open the project using Godot 4.2.
From Tools menu, select Upgrade Mesh Surfaces.
The mesh now has flickering black triangles.

Minimal reproduction project (MRP)

i think it's related to https://github.com/godotengine/godot/issues/85406
I disabled mesh compression in import settings as described here:
https://github.com/godotengine/godot/issues/85406#issuecomment-1828357136

Indeed, this is a duplicate of https://github.com/godotengine/godot/issues/85406


Update Uptime Kuma to 1.20.1

Uptime Kuma 1.20.1 has been released, and this image should be updated.

Cool.
Closing this as it is a feature request and not a bug.
../Frenck


[Modal] Fullscreen modal stuck to left edge of page

Steps

Create a fullscreen modal in html
Call the modal function on it and show

Expected Result
Modal should be centered
Actual Result
Modal is stuck to left edge of page
Version
2.4.0
Testcase
https://jsfiddle.net/Ljcyd5ek/
It can be fixed by adding the following css into the page to override it:
.ui.fullscreen.modal {
  left: 2.5% !important;
}

+1

@GammaGames The CSS to override isn't working for me. I'm using the SUI CSS only version and even tried editing the source stylesheet file to no avail. Any other quick dirty fix?

Yeah, the .ui.fullscreen.scrolling.modal was more specific, so it was overriding the base .ui.fullscreen.modal rules. If you want to read more, here's a short explanation.
Also, in the future just add a thumb to the thread instead of a +1 comment. Everyone subscribed (with this thread it's not many) gets a notification whenever someone comments, and GitHub has tools to sort by the most reactions to see which issues have the most support.

I'll fix this.

@jlukic
This does not appear to be fixed in v2.4.2??
See -> https://codepen.io/anon/pen/aPJLya

Fixed in https://github.com/fomantic/Fomantic-UI 2.6.1


Update reqwest to 0.12

Reqwest 0.11 pulls hyper 0.14 which apps end up with both version 0.14 and 1.4 of hyper.

$ cargo update
    Updating crates.io index
     Locking 1 package to latest compatible version
    Removing base64 v0.21.7
    Updating doi2bib v0.1.6 -> v0.2.0
    Removing h2 v0.3.26
    Removing http v0.2.12
    Removing http-body v0.4.6
    Removing httpdate v1.0.3
    Removing hyper v0.14.30
    Removing hyper-tls v0.5.0
    Removing reqwest v0.11.27
    Removing rustls-pemfile v1.0.4
    Removing sync_wrapper v0.1.2
    Removing winreg v0.50.0

Thanks!


Incorrect depth estimation

Required Info

Camera Model
D400

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 16

Kernel Version (Linux Only)
4.4.0-116-generic

Platform
Intel NUC

SDK Version
2.10.0

We're running a bunch of RS400 sensors and in our test lab we have a repetitive pattern on the walls. When the wall is out of distance for the laser projector we get incorrect depth readings sometimes.
Here is depth data:
https://www.dropbox.com/s/z6k7t6i8x847wqv/Screen Shot 2018-03-02 at 16.37.03.png?dl=0
Color data:
https://www.dropbox.com/s/4i1y5uns5a6uuhl/Screen Shot 2018-03-02 at 16.37.32.png?dl=0
Are there any parameters we can tweak in order to minimize the amount of false readings?
Thanks in advance.

Hi @maciekd , sorry but we're going to need one of you drones to help...
Just kidding 😄
You can start by using one of the pre-defined presets (also see links at the buttom), and continue with tweaking the advanced controls to find the best matching configuration for your use case.
Unfortunately, to my best knowledge, we do not have any documentation for each advanced control setting, but feel free to ask about them here and we will try to help

Fantastic, will ha a look at this, thanks!


add logging profiler to log  containing transaction information

complate. backport.

I will write document this feature.

I commited document


graphql: Change the auto-generated type name template.

When object types are reflected into GraphQL, we create an interface
with the original type name and an underlying type implementing that
interface with a name that has "_Type" appended to it. The idea is that
since the convention in EdgeDB is to have camel-case type names adding
an "_" will result in fewer cases of type name clashes.
Fixes: #1175.

adding an "_" will result in fewer cases of type name clashes.

So this wouldn't eliminate them. What happens when there's a name clash?

So this wouldn't eliminate them. What happens when there's a name clash?

The GraphQL initializatin fails with Schema must contain unique named types but contains multiple types named "Foo_Type".  The most likely accidental one was the the Type suffix, but I can review the rest of the names to make sure they all break camel-case in some way so that at least "best practice" names are always safe.


Arc being stupid on iPhone

If you open up the arc menu on an iPhone the button to close the arc menu is hidden by the status bar and you can't click it

Also the opt-out of arc button still doesn't work on iOS

okay so they fixed the problem where you can't close it on iPhone but now it just straight up doesn't work in landscape on any phone

closing in favor of #577


I have a file C:\hello\index.go:
package main
import "net/http"

func main() {
   http.Handle("/assets", http.FileServer(http.Dir("assets")))
   println("ListenAndServe")
   http.ListenAndServe(":9000", nil)
}

I enter go run index.go, then make this request:
PS C:\> curl localhost:9000/assets/kitten.jpg
404 page not found

I know the path is valid:
PS C:\> curl -I file:/C:/hello/assets/kitten.jpg
Content-Length: 3000898
Accept-ranges: bytes
Last-Modified: Sun, 16 Jan 2022 01:14:58 GMT

I also tried these other lines:
http.Handle("/assets", http.FileServer(http.Dir(`C:\hello\assets`)))
http.Handle("/assets/", http.FileServer(http.Dir("assets")))
http.Handle("/assets/", http.FileServer(http.Dir(`C:\hello\assets`)))

but I get 404 every time. What am I doing wrong?

Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions

This is a bug...

This command:
http.Handle("/assets", http.FileServer(http.Dir("assets")))

Sets the filesystem root to assets, then the request is added on top of that.
So if you make a request like this:
/assets/kitten.jpg

Then the server will look for a path like this:
assets/assets/kitten.jpg

I have seen some people suggest using StripPrefix, but this seems to do the
job as well:
http.Handle("/assets/", http.FileServer(http.Dir(".")))

the trailing slash in the handler path is important

When you burn a bridge, you dont go back and try to rebuild it.


[AUTOPATCHER-kernel] Kernel upgrade to version <IP_ADDRESS> - branch main

[AUTOPATCHER-kernel] Kernel upgrade to version <IP_ADDRESS> - branch main
Upgrade pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=531276&view=results
buddy build -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=531278&view=results

Closing due to newer version availability


new messages in new threads don't load in an empty room

Steps To Reproduce:

select a room with no threads
ctrl+c to create a new thread
add a message
messages still say "New Thread"

If you escape to preview the thread, the messages load.
Any subsequent new threads load correctly.

possibly related: new message event from a previously not-seen room (in the case of a new adhoc group chat) causes an error because the cached chat doesn't exist but we assume it does.


update metric to new metric spec

This is a:

[x] bug fix PR with no breaking changes
[ ] new functionality

Link to Issue
Closes #355
Description & motivation
This PR updates the unpack logic for the new metric spec, and updates the integration test project accordingly to match the spec. Even though we had initially decided to remove metric references altogether, this option at least gives us the ability to add metric checks in the future.  Happy to remove metrics altogether if we still feel like that's a better move.
This PR will not pass CI until all adapters have a 1.6 release.
Integration Test Screenshot

Checklist

[ ] I have verified that these changes work locally on the following warehouses (Note: it's okay if you do not have access to all warehouses, this helps us understand what has been covered)

[ ] BigQuery
[x] Postgres
[ ] Redshift
[ ] Snowflake
[ ] Databricks
[ ] DuckDB

[ ] I have updated the README.md (if applicable)
[ ] I have added tests & descriptions to my models (and macros if applicable)

Thanks Dave!
Let's see how we can get it passing at least some part of CI before merging 😄 (I don't think that we'll get the DuckDB one due to the 1.6 restriction)

The semantic layer requires a 'metricflow_time_spine' model in the project, but none was found. Guidance on creating this model can be found on our docs site (https://docs.getdbt.com/docs/build/metricflow-time-spine)

@dave-connors-3 can you add this date spine to the PR?

@graciegoheen done!
an important note: adding this model to the integration tests project required adding exceptions to the root models and naming convention rule checks -- I decided to add these as global execeptions in the dbt_project_evaluator_exceptions.csv that ships with the package, since this model is virtually guaranteed to be a root model that doesn't adhere to your naming conventions for all users. Let me know if this feels like a bad call!

@graciegoheen @b-per this should be good to go. I was able to test on all but databricks (🤞 ) and the two failures we have here are a result of the two non-dbt-Labs adapters not yet cutting a release >=1.6.0rc1. we're at their mercy to do so for this to pass without an update to our CI logic!


Update Landing Page

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/cd9e952b234de7b/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/cd9e952b234de7b/output.txt
Total script time: 2.43 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/7123b7d35a53c01/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/7123b7d35a53c01/output.txt
Total script time: 2.48 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/eecd4d0adb164ab/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/eecd4d0adb164ab/output.txt
Total script time: 2.43 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/7bfc9d61b1e634e/output.txt

From: MushinBot (botio-academy.horizen.global)

Failed
Full output at https://botio-academy.horizen.global/7bfc9d61b1e634e/output.txt
Total script time: 1.74 mins
Error: Build failed at step "bundle exec jekyll build" with ExitCode 1

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/9e7b4b0fd006394/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/9e7b4b0fd006394/output.txt
Total script time: 2.42 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/5ca474f127da0dd/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/5ca474f127da0dd/output.txt
Total script time: 2.37 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/cb91967633f0b93/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/cb91967633f0b93/output.txt
Total script time: 2.29 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/a8941ff9317945a/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/a8941ff9317945a/output.txt
Total script time: 2.32 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @tuanhvdev received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/a4fd63cab680a77/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/a4fd63cab680a77/output.txt
Total script time: 2.33 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/67e269add293c6e/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/67e269add293c6e/output.txt
Total script time: 2.37 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/0fef6c215234863/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/0fef6c215234863/output.txt
Total script time: 2.41 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/1fd54e3af15f2ee/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/1fd54e3af15f2ee/output.txt
Total script time: 2.38 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/dca7dd25097556c/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/dca7dd25097556c/output.txt
Total script time: 2.38 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/6fb727e473c4516/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/6fb727e473c4516/output.txt
Total script time: 2.36 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global

/botio build

From: MushinBot (botio-academy.horizen.global)

Received
Command cmd_build from @jtoownus received. Current queue size: 0
Live output at: https://botio-academy.horizen.global/c22b118f87b7005/output.txt

From: MushinBot (botio-academy.horizen.global)

Success
Full output at https://botio-academy.horizen.global/c22b118f87b7005/output.txt
Total script time: 2.32 mins
You can download the generated site at: https://botio-academy.horizen.global/latest.tar.gz
Or view a preview at https://devweb-academy.horizen.global


Removed line break in german locale file, confusing javascript.

A german localization string contains a literal linebreak ("\n"), leading to a syntax error in the javascript producted by "_messages_js.html".

Thank you!

This is still or again the same in 1.11.4! I thought you were using German yourselves?
(.po as attachment doesn’t work)
django.po.zip


[Android] Action.ShowCard native styling

Indicate that limited native styling available for Action.ShowCard on android

Docs Build status updates of commit 24f8109:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

AdaptiveCards/sdk/rendering-cards/android/native-styling.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


SPARKC-485: Fix ReplicaPartitioner Endpoint Call

Previously endpoints were being calculated with the wrong ByteBuffer.
They needed to use the routing key but were using the Token buffer
instead. To fix this we change the buffer which was passed in to the key
buffer instead.
To fully test this the embedded cassandra class is extended so that it
can create a multi-node cluster. This is then used to make sure or
replica partitioner is accurately dividing nodes by replica and evenly
distributing the keys.

Build against Scala 2.11 finished with failure

Build against Scala 2.10 finished with failure

Build against Scala 2.11 finished with failure

Build against Scala 2.10 finished with failure

Build against Scala 2.11 finished with success

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success

Build against Scala 2.10 finished with success

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success


Search by Name

I have tried to use ovirt-web-ui on a larger setup with hundreds of VMs and getting to the VM I wanted to use was a pain (and after about 5 minutes of scroll and load next 8 vms when I was still far from mine I gave up and decided I don't really need to use that VM :) ).
It would be hugely helpful to have a way how to make a server side filter to return only VMs where the name matches some pattern (as it can be done in webadmin).
Unfortunately, this is supported only for admin users (for a little context check this: https://bugzilla.redhat.com/show_bug.cgi?id=1534607), but it is still useful since mostly the admin users will have hundreds of VMs available so they will appreciate the most this feature.
What I propose is to have a searchbar on top of the screen for admin users. If I write something like tj-* into it, all the VM / pool related queries will only load VMs which match this pattern.
This searchbar will not be shown for regular users.
@mareklibra @jniederm what you guys think?

designs: https://docs.google.com/document/d/1knF5-UnYtM6a8pcPUmnzva2Q5JsBwyOxbgbIXWJ2NAo/edit
ready for implementation


Under Armour / MapMyFitness upload fails

Not sure what's the failure details yet

Seems like the issue resolved itself, cannot be reproduced for now

Probably this was a side effect of Outside acquiring Under Armour. See also #523


Added event for default rule write_below_root

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind documentation

/kind tests

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area commands

/area pkg

/area events

What this PR does / why we need it:
Added event for default rule write_below_root
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: GLVSKiriti
Once this PR has been reviewed and has the lgtm label, please assign leogr for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Kindly tell me if any more changes required!

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: GLVSKiriti, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 45a2f0a5bd5c6cbdc513edee0cf684fe87759b0a


RectDecoration has no attribute: is_first

Python version: 3.11.3
Qtile version: 0.22.1-4
Qtile Extras version: 0.22.2.dev104+gda6ce83
Distro: Archlinux x86-64 6.3.4-arch1-1
My decorations were gone and replaced with empty space so I decided to look at the log files and saw this error repeating:
2023-05-28 14:54:17,391 ERROR libqtile loop.py:_handle_exception():L63 RectDecoration has no attribute: is_first
Traceback (most recent call last):
  File "/usr/lib/python3.11/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/lib/python3.11/site-packages/libqtile/core/manager.py", line 862, in f
    func(*args)
  File "/usr/lib/python3.11/site-packages/libqtile/bar.py", line 616, in _actual_draw
    i.draw()
  File "/usr/lib/python3.11/site-packages/libqtile/widget/base.py", line 580, in draw
    self.drawer.clear(self.background or self.bar.background)
  File "/usr/lib/python3.11/site-packages/qtile_extras-0.22.2.dev104+gda6ce83-py3.11.egg/qtile_extras/widget/decorations.py", line 822, in new_clear
    decoration.draw()
  File "/usr/lib/python3.11/site-packages/qtile_extras-0.22.2.dev104+gda6ce83-py3.11.egg/qtile_extras/widget/decorations.py", line 420, in draw
    self._draw_path()
  File "/usr/lib/python3.11/site-packages/qtile_extras-0.22.2.dev104+gda6ce83-py3.11.egg/qtile_extras/widget/decorations.py", line 330, in _draw_path
    if self.is_first:
       ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/libqtile/configurable.py", line 48, in __getattr__
    raise AttributeError("%s has no attribute: %s" % (cname, name))
AttributeError: RectDecoration has no attribute: is_first

What should've been shown:

What happened:

If needed, my configs are here.

Was this following an upgrade? That grouping code hasn't been modified for months.
Is there anything else that you've changed?
It's very weird because the decoration does have that attribute and I'm struggling to see how that error could arise!

Yes, I just did a system upgrade prior to this. Is it perhaps because Python got updated from 3.10 -> 3.11?

Did you reinstall qtile-extras after the upgrade?
The tests run ok on python 3.11 so it should be ok.

First thing I tried after the upgrade was reinstalling, and it is still not working.

Ok. Let me try with your config later.

Wow - this is really weird.
I get the same error using your config. However, if I call dir on the decoration just before that error then I can see that that attribute is listed. So I've no idea why I'm getting that error. Will need to dog some more.
Did this config work in python 3.10?

Yep, it worked without an issue on Python 3.10 before I upgraded my system.

I think I've found the bug but it's not python 3.10/11 related (or not as far as I can tell). Can you take a look at #249 and see if it fixes it for you?

Hey, sorry for the late reply. Just tried it out and it was working again, thanks a lot @elParaguayo!

Great. I'll merge that PR then.


Investiage: creating a Vue component based on D3 and WebCola.

See following as example https://github.com/innovolve-ai/processmining-data/blob/main/Componentv3.html

@ankitvats1 take a look at https://github.com/governance-foundation/knowledge-fund/tree/master/src/plugins/vuex-d3-network


CPU version of ROI Crop

CPU version of ROI Align and NMS was updated a few days back.
Any idea, when will the CPU version of ROI crop be added?

Hi, @gullalc It might take some time, :), please stay being tuned.

Sure.

I am closing this issue for now, will let you know if we have implemented cpu version ROI crop.

Thanks.
Really need the CPU version to deploy the model on a system which has no GPU.


Issue with the link to the GitHub Azure RDS template repository page.

Module 2: Implement an AVD Infrastructure
Lab/Demo: LAB_02L03
Task: 5
Step: 1
It appears there is an issue with the provided link to the GitHub Azure RDS templates repository page. The ARM template is not deploying correctly, with deployment exceeding 1 hour and encountering parameter issues from the nested template.

Pls let us know if you're still running into this issue - and, if so, provide the requested details
rgds
Marcin


Social buttons

Social buttons are very important on nowadays websites. Would it be possible to implement something like this ?
CSS Social Buttons

In addition to social media buttons, there are 1001 other possible icon choices people could want.
Bootstrap only supports the 120 icons from the Glyphicons Halflings set.  I think this is a smart choice because it keeps the sprite file size down, and stops requests to add this or that icon.
There's nothing saying you can't create your own icon sprite and icon classes:

We won't be adding these.


Paren open crashes stylebot

if I write styles with things like :nth-child(n) stylebot crashes the webpage if I write an paren open tag "(", but only if I haven't already put a paren closing ")" tag after it.
It has been doing this for a couple versions now with no apparent crash log.
Currently running Chrome 38.0.2101.0 dev-m (64-bit)

@ankit Still getting this today