inference chatglm3-6b with int4 and 8k input prompt failed

bigdl-llm: 2.5.0b20240321, all-in-one benchmark tools:
8k prompt refers https://github.com/intel/xFasterTransformer/blob/main/benchmark/prompt.json
2024-03-22 20:38:03,260 - INFO - intel_extension_for_pytorch auto imported
Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 7/7 [00:04<00:00,  1.52it/s]
2024-03-22 20:38:08,095 - INFO - Converting the current model to sym_int4 format......

loading of model costs 8.393956548999995s and 3.583984375GB
<class 'transformers_modules.chatglm3-6b.modeling_chatglm.ChatGLMForConditionalGeneration'>
/build/intel-pytorch-extension/csrc/gpu/aten/operators/Indexing.h:670: operator(): global id: [524544,0,0], local id: [256,0,0] Assertion index >= -sizes[i] && index < sizes[i] && "index out of bounds" failed
/build/intel-pytorch-extension/csrc/gpu/aten/operators/Indexing.h:670: operator(): global id: [524545,0,0], local id: [257,0,0] Assertion index >= -sizes[i] && index < sizes[i] && "index out of bounds" failed
/build/intel-pytorch-extension/csrc/gpu/aten/operators/Indexing.h:670: operator(): global id: [524546,0,0], local id: [258,0,0] Assertion index >= -sizes[i] && index < sizes[i] && "index out of bounds" failed
/build/intel-pytorch-extension/csrc/gpu/aten/operators/Indexing.h:670: operator(): global id: [524547,0,0], local id: [259,0,0] Assertion index >= -sizes[i] && index < sizes[i] && "index out of bounds" failed
/build/intel-pytorch-extension/csrc/gpu/aten/operators/Indexing.h:670: operator(): global id: [524548,0,0], local id: [260,0,0] Assertion index >= -sizes[i] && index < sizes[i] && "index out of bounds" failed
/build/intel-pytorch-extension/csrc/gpu/aten/operators/Indexing.h:670: operator(): global id: [524549,0,0], local id: [261,0,0] Assertion index >= -sizes[i] && index < sizes[i] && "index out of bounds" failed

Should be the same issue as https://github.com/intel-analytics/ipex-llm/issues/10513
As we test, when the input length is larger than 8166, it will show the same error as above. When the input length is smaller or equal to 8166, it will show the error that is similar to llama2 8k issue, which is the IPEX allocation error:

Need further investigation.

https://github.com/oneapi-src/oneDNN/issues/1638

Hi @uniartisan, thanks for your suggestions, currently we workaround this issue by PR https://github.com/intel-analytics/ipex-llm/pull/10648, close issue for now.


[frontend] - SyntaxError: Unexpected reserved word - on docker

on the following system:

Linux kali 6.0.0-kali6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.0.12-1kali1 (2022-12-19) x86_64 GNU/Linux
Docker version 23.0.1, build a5ee5b1
Docker Compose version v2.16.0

Cloning the repository and typing
docker compose up

Produces the following output:
[+] Running 3/3
 ⠿ Container stormspotter-stormspotter-neo4j-1     Recreated                                                                                1.0s
 ⠿ Container stormspotter-stormspotter-backend-1   Recreated                                                                                1.4s
 ⠿ Container stormspotter-stormspotter-frontend-1  Recreated                                                                                1.3s
Attaching to stormspotter-stormspotter-backend-1, stormspotter-stormspotter-frontend-1, stormspotter-stormspotter-neo4j-1
stormspotter-stormspotter-frontend-1  | file:///usr/local/lib/node_modules/@quasar/cli/bin/quasar.js:43
stormspotter-stormspotter-frontend-1  |   const { getProjectRoot } = await import('../lib/get-project-root.js')
stormspotter-stormspotter-frontend-1  |                              ^^^^^
stormspotter-stormspotter-frontend-1  |
stormspotter-stormspotter-frontend-1  | SyntaxError: Unexpected reserved word
stormspotter-stormspotter-frontend-1  |     at Loader.moduleStrategy (internal/modules/esm/translators.js:140:18)
stormspotter-stormspotter-frontend-1  |     at async link (internal/modules/esm/module_job.js:42:21)
stormspotter-stormspotter-backend-1   | INFO:     Started server process [1]
stormspotter-stormspotter-backend-1   | INFO:     Waiting for application startup.
stormspotter-stormspotter-backend-1   | INFO:     Application startup complete.
stormspotter-stormspotter-backend-1   | INFO:     Uvicorn running on http://<IP_ADDRESS>:9090 (Press CTRL+C to quit)
stormspotter-stormspotter-frontend-1 exited with code 1

A quick fix would be to pin NodeJS to an higher version than 12 in frontend/dockerfile (I know this is quite "generic", but even pinning to latest fixed the issue)

I confirm the bug AND the proposed solution.
Thanks @giupo

For those of you who don't speak simple docker like myself - to break down guipo's fix:

in your /Stormspotter/frondend/dockerfile file modify the first line to become From node:latest
Save the changes
Rebuild the docker container with docker-compose up --build
The frontend should now be working and accessible at http://localhost:90901

Thanks @giupo


Vertical numbers displace when set direction to "rtl"

Description
When using Apexchart in "rtl" mode for languages like Persian the vertical numbers and also the series names at the bottom displace
Example: I changed my app language to Persian/Arabic, by changing it the direction of app also changes: direction = "rtl" and the chart styles miss up the vertical numbers overflows from its place and comes on the graph and the bottom series names and it's colors stick to each other.
Steps to Reproduce

Go to the html file where the

 is located (file that the chart is used in)
give the above div or to the body tag a dir="rtl" atribute, or style="direction: rtl" style
and also give the chart large numbers to see the behavior

Expected Behavior

Actual Behavior

Screenshots

Reproduction Link
https://codepen.io/ehsanullah_haidary/pen/gONzjyK

I also love to contribute to the apexchart.js repo it would be great if you assign me this issue please

Hello I also have the same issue in one of the apps that I am working on. and the app is in rtl direction

@ehsanullahhaidary I have assigned it to you. You may create a PR.

@junedchhipa thank you
and I will create a PR

Do you have any discord channel or any place for the contributors?
if yes please send me the link
thanks

thanks @junedchhipa


Dexcom device version check

See https://trello.com/c/7WRyBmpw for more details

Pinging @jh-bate for review. This is medium time-critical as we have access to a G6 receiver this week only - luckily this is a small change.

 [uploader] Dexcom version check

@gniezen two queries but once those are answered LGTM

LGMT @gniezen


Release ext reg

Description
Depends on
https://github.com/adobe/generator-aio-app/pull/148
https://github.com/adobe/generator-aio-console/pull/28
https://github.com/adobe/aio-lib-runtime/pull/63

Before merge, revert these commits

[ ] re-enable unit tests (git revert 7f3bbed)
[ ]  update dependencies version of @adobe/generator-aio-console to the released version (remove next tag)
[ ]  update dependencies version of @adobe/generator-aio-app to the released version (remove next tag)
[ ]  update dependencies version of @adobe/aio-lib-runtime to the released version (remove next tag)

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Checkpoint:
-----------------------|---------|----------|---------|---------|-------------------------
File                   | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------------|---------|----------|---------|---------|-------------------------
All files              |   82.36 |     80.5 |   76.51 |   82.98 |
 commands/app          |   97.18 |    96.51 |    95.6 |   97.11 |
  build.js             |     100 |      100 |     100 |     100 |
  create.js            |     100 |      100 |     100 |     100 |
  deploy.js            |     100 |      100 |     100 |     100 |
  get-url.js           |     100 |      100 |     100 |     100 |
  index.js             |     100 |      100 |     100 |     100 |
  info.js              |     100 |      100 |     100 |     100 |
  init.js              |     100 |      100 |     100 |     100 |
  logs.js              |   25.81 |        0 |       0 |   25.81 | 22-57
  run.js               |     100 |      100 |     100 |     100 |
  test.js              |     100 |      100 |     100 |     100 |
  undeploy.js          |     100 |      100 |     100 |     100 |
  use.js               |     100 |      100 |     100 |     100 |
 commands/app/add      |   61.21 |    31.58 |      40 |   63.18 |
  action.js            |   54.55 |        0 |      50 |   54.55 | 31-65,87
  ci.js                |   92.31 |      100 |     100 |   92.31 | 25
  event.js             |   56.67 |        0 |      50 |   56.67 | 30-54,76
  extension.js         |   22.58 |        0 |       0 |   26.42 | 25-108
  index.js             |     100 |      100 |     100 |     100 |
  service.js           |     100 |      100 |     100 |     100 |
  web-assets.js        |   55.17 |        0 |      50 |   55.17 | 29-56,78
 commands/app/delete   |   54.04 |       30 |   18.75 |   55.95 |
  action.js            |   26.76 |       20 |    7.14 |   28.79 | 34-127
  ci.js                |   92.86 |      100 |     100 |   92.86 | 30
  event.js             |     100 |      100 |     100 |     100 |
  extension.js         |   28.89 |        0 |       0 |   30.23 | 24-92
  index.js             |     100 |      100 |     100 |     100 |
  service.js           |     100 |      100 |     100 |     100 |
  web-assets.js        |   41.03 |        0 |    12.5 |   42.11 | 29-79
 lib                   |    81.8 |    80.15 |   83.33 |   82.13 |
  actions-watcher.js   |     100 |      100 |     100 |     100 |
  app-helper.js        |     100 |      100 |     100 |     100 |
  build-actions.js     |      50 |        0 |     100 |      50 | 23-27
  bundle-serve.js      |     100 |      100 |     100 |     100 |
  cleanup.js           |   14.29 |      100 |       0 |      15 | 19-56
  config-loader.js     |     100 |      100 |     100 |     100 |
  defaults.js          |     100 |      100 |     100 |     100 |
  deploy-actions.js    |   36.36 |       25 |   33.33 |   36.36 | 26-35
  import.js            |   93.41 |    85.94 |   96.15 |   93.33 | 171,177-180,305-314,332
  log-poller.js        |     100 |      100 |     100 |     100 |
  owlocal.js           |     100 |      100 |     100 |     100 |
  run-dev.js           |   22.83 |    10.53 |   14.29 |   24.14 | 48-164
  run-local-runtime.js |   31.37 |     12.5 |      25 |   31.37 | 57,63-135
  serve.js             |     100 |      100 |     100 |     100 |
  vscode.js            |   29.03 |        0 |       0 |      30 | 25-72
-----------------------|---------|----------|---------|---------|-------------------------
Jest: "global" coverage threshold for statements (100%) not met: 82.36%
Jest: "global" coverage threshold for branches (100%) not met: 80.5%
Jest: "global" coverage threshold for lines (100%) not met: 82.98%

Test Suites: 15 failed, 23 passed, 38 total
Tests:       169 failed, 415 passed, 584 total
Snapshots:   0 total
Time:        82.642 s

Previous failure count was 298. We reduced it by approximately half.

Checkpoint
-----------------------|---------|----------|---------|---------|-------------------
File                   | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------------|---------|----------|---------|---------|-------------------
All files              |   93.98 |    92.83 |   90.35 |   94.17 |
 commands/app          |   93.44 |    92.25 |   88.54 |   93.41 |
  build.js             |     100 |      100 |     100 |     100 |
  create.js            |     100 |      100 |     100 |     100 |
  deploy.js            |     100 |      100 |     100 |     100 |
  get-url.js           |    44.9 |     12.5 |   16.67 |    44.9 | 38-44,49-81
  index.js             |     100 |      100 |     100 |     100 |
  info.js              |     100 |      100 |     100 |     100 |
  init.js              |     100 |      100 |     100 |     100 |
  logs.js              |   20.59 |        0 |       0 |   21.21 | 21-64
  run.js               |     100 |      100 |     100 |     100 |
  test.js              |     100 |      100 |     100 |     100 |
  undeploy.js          |     100 |      100 |     100 |     100 |
  use.js               |     100 |      100 |     100 |     100 |
 commands/app/add      |     100 |      100 |     100 |     100 |
  action.js            |     100 |      100 |     100 |     100 |
  ci.js                |     100 |      100 |     100 |     100 |
  event.js             |     100 |      100 |     100 |     100 |
  extension.js         |     100 |      100 |     100 |     100 |
  index.js             |     100 |      100 |     100 |     100 |
  service.js           |     100 |      100 |     100 |     100 |
  web-assets.js        |     100 |      100 |     100 |     100 |
 commands/app/delete   |   65.15 |    47.06 |   40.63 |   66.95 |
  action.js            |   26.76 |       20 |    7.14 |   28.79 | 34-127
  ci.js                |     100 |      100 |     100 |     100 |
  event.js             |     100 |      100 |     100 |     100 |
  extension.js         |   28.89 |        0 |       0 |   30.23 | 24-92
  index.js             |     100 |      100 |     100 |     100 |
  service.js           |     100 |      100 |     100 |     100 |
  web-assets.js        |     100 |      100 |     100 |     100 |
 commands/app/list     |     100 |      100 |     100 |     100 |
  extension-points.js  |     100 |      100 |     100 |     100 |
  extension.js         |     100 |      100 |     100 |     100 |
  index.js             |     100 |      100 |     100 |     100 |
 lib                   |     100 |      100 |     100 |     100 |
  actions-watcher.js   |     100 |      100 |     100 |     100 |
  app-helper.js        |     100 |      100 |     100 |     100 |
  build-actions.js     |     100 |      100 |     100 |     100 |
  bundle-serve.js      |     100 |      100 |     100 |     100 |
  cleanup.js           |     100 |      100 |     100 |     100 |
  config-loader.js     |     100 |      100 |     100 |     100 |
  defaults.js          |     100 |      100 |     100 |     100 |
  deploy-actions.js    |     100 |      100 |     100 |     100 |
  import.js            |     100 |      100 |     100 |     100 |
  log-poller.js        |     100 |      100 |     100 |     100 |
  owlocal.js           |     100 |      100 |     100 |     100 |
  run-dev.js           |     100 |      100 |     100 |     100 |
  run-local-runtime.js |     100 |      100 |     100 |     100 |
  serve.js             |     100 |      100 |     100 |     100 |
  vscode.js            |     100 |      100 |     100 |     100 |
-----------------------|---------|----------|---------|---------|-------------------
Jest: "global" coverage threshold for statements (100%) not met: 93.98%
Jest: "global" coverage threshold for branches (100%) not met: 92.83%
Jest: "global" coverage threshold for lines (100%) not met: 94.17%

Test Suites: 4 failed, 40 passed, 44 total
Tests:       24 failed, 522 passed, 546 total

Test failures:
app/use - 1 failed
app/geturl - 10 failed
app/logs -  9 failed
app/delete/action - 4 failed


The golang neovim6.0 structure does not seem to be able to expand

Language: [golang]
AerialInfo: [output of :AerialInfo]
The minimal amount of code that demonstrates the missing symbol:
[minimal code here]

Expected symbol: [Function/Class/Enum]
Try to use zo, the carriage return is invalid

You say that it doesn't expand, but it looks expanded to me? Is the problem that you can't close the fold?
What are your aerial settings?
What is the output of :AerialInfo?


its not working my deadname is still showing up

I might be able to help if you give some context and explain what's going on!

Closed because of no reply/context


Ctrl+Z issue

I'm not sure is it bug or feature. How to reproduce:
1 - starting program, making some changes
2 - undoing all of changes by pressing Ctrl+Z several times
3 - when all of changes are undone Ctrl+Z deletes all code from the file

Ask on ScintillaNet project.


Json configuration is ignored in CLI

svgo --config=svgo_config.json -i src/glyphs/black_add_document.svg -o -
The command should read a file from the source-folder, read the config and output it to stdout.
My configuration file is as follows;
{
    "plugins": [
        "removeComments",
        "removeMetadata",
        "removeTitle",
        "mergePaths"
    ]
}

However, the output file still contains a title and multiple paths. Even when I feed it a malformed JSON, no error is shown.
Running version 0.7.2.

I had problems with svgo as well, downgraded to 0.6.1 – still not working.
I'm now on svgo 0.5.1 and it works.
Latest version didnt even recognize --enable cli options.

@posixpascal: I can enable a plugin using e.g. enable=chainFilters, maybe the = is required for it to work.

@strarsis Seems like a weird syntax. Is this a standard?

@ameesme: https://github.com/svg/svgo#cli
Maybe the arguments parser is not flexible enough?
svgo uses coa for CLI.

Seems work well in<EMAIL_ADDRESS>


Add token vesting

Continues #412, fixes #274.

@frangio thanks for the feedback! Updated with corrections.

LGTM! Please remove the VestedToken and LimitedTransferTokens from the repository like we had mentioned in #412.

@frangio rebased due to merge conflicts. Ready!

Awesome, thanks!


Add swagger api for server route

Using Swagger official integration
https://github.com/swagger-api/swagger-node-express
This uses a swagger object where we insert definitions of the spec. Advantage seems to be that we can use for the errors the same code we would throw inside the methods. Bad thing is that it seems to couple the integration with swagger tightly into the controllers
Using jsdoc/yaml based documentation
https://www.npmjs.com/package/swagger-express
This one we add jsdoc comments to each controller route definition for example specifying the API for that endpoint
Update: No 2.0 support!
Use swagger tools:
https://www.npmjs.com/package/swagger-tools
https://github.com/apigee-127/swagger-tools/blob/master/docs/QuickStart.md
This basically uses the swagger spec as the defining document and injects a few pieces of middleware that add the swagger routes to the app (using connect middleware)

Takes care of validating request values, and also applies default values automatically
Maps routes to controllers
Adds validation middleware
Configuring the routing middleware:
https://github.com/apigee-127/swagger-tools/blob/master/docs/Middleware.md#swagger-20-1

http://strongloop.com/strongblog/enterprise-api-swagger-2-0-loopback/

https://github.com/krakenjs/swaggerize-express

UPDATE:
This has evolved and the official swagger node middleware is here
https://www.npmjs.com/package/swagger-express-middleware

Update:
We do it manually since the swagger-node package is too opinionated and doesn't play nice with typescript
TODO:

Get rid of swaggerize package, we do it ourselves
Move swagger ui registration to a separate swagger route
Add a 301 redirection if the url is not set when serving the swagger route (copy from swaggerize-ui package)

  router.use(function (req, res, next) {
    if (!req.query.url) {
      var query = req.query;
      query.url = options.docs;
      return res.redirect(301, url.format({query: query}));
    }
    next();
  });


variable importance names were aligned with DF

warning in precommit happened due to pydaal build (but it was fixed in test branch)


Allow Facter 4

It seems safe to remove the Facter restriction now.

This is intentionally behind master because the changes post-3.18.1 have broken my use of Onceover. I based the PR on the 3.18.1 tag.

This is intentionally behind master because the changes post-3.18.1 have broken my use of Onceover. I based the PR on the 3.18.1 tag.

(Some) Changes post-3.18.1 break my setup too. Could you give more explanations about this? (probably in a dedicated issue).
Maybe the patch I provided in #292 could fix your setup as it does for me.

Maybe the patch I provided in #292 could fix your setup as it does for me.

Yep... that was it. We include a module in site.pp that fails catalog compilation if certain facts are faked and it seems that Onceover is not setting the certname to that of the factset being tested so it blew up.

#289 combined with the manifest thing were my stumbling block


undefined method `underscore' for nil:NilClass

When I tried to access mysql active record got following error "undefined method `underscore' for nil:NilClass"
config/cas.yml
development:
  <<: *defaults
  authenticators:
    my_company_sql:
    authenticator: "ActiveRecord"
    options:
      connection:
        adapter: "mysql2"
        host: "localhost"
        username: "user"
        password: "password"
        database: "my_casino"
      table: "users"
      username_column: "username"
      password_column: "password"

Could you provide us the full backtrace?

Started POST "/login" for <IP_ADDRESS> at 2015-10-30 09:50:45 +0530
Processing by CASino::SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"mPrgvNlGncBGHElrU1jr12cT1E3cF6DWq1ce7G1Os8kLJziGyyKyIIWRmtt6NAL1I4x/Z67Q6YihgWn56dgSPw==", "lt"=>"LT-14461788433585-ik22lNdUrq0pXsVs6GCWq3xD89cFJSjNKZPKn1ew", "username"=>"testuser", "password"=>"[FILTERED]", "button"=>""}
CASino::LoginTicket Load (0.5ms)  SELECT  casino_login_tickets.*  Could you try this? Where did you get the current value from?

Changed authenticator to "CASino::ActiveRecordAuthenticator" but still getting the same error

Haha, now I can see it... Check your configuration, authenticator and options should have one more indention:
development:
  <<: *defaults
  authenticators:
    my_company_sql:
      authenticator: "ActiveRecord"
      options:
        connection:
          adapter: "mysql2"
          host: "localhost"
          username: "user"
          password: "password"
          database: "my_casino"
        table: "users"
        username_column: "username"
        password_column: "password"

That did the trick, thank you


VLLMOpenAI class should be generalised

Feature request
we are using your VLLMOpenAI class in a project to connect to our vLLM. we however don't use openAI, and found kind of weird that you have this implemented, but naming suggests it is specifically for openAI only. You could generalise this class so that it can be used with any kind of vLLM (which it already does). So basically just some refactoring might be the whole thing.
Motivation
We are using this VLLMOpenAI class with other open source models. Kind of misleading and unintuitive to say we use the VLLMOpenAI class. We wish ourselves a custom class for open source models or any other kind of vLLM deployment.
Your contribution
No time capacity :( So other than my genuine enthusiasm on your project and the whole documenting of the feature I can't really offer much more...

@mauri3112 Not sure I understand the point of this comment. VLLMOpenAI refers to the fact that the class integrates vLLM's OpenAI-compatible API into langchain.
It has nothing to do with OpenAI models, it's just the interface to be OpenAI-like. To use it you need a vLLM server exposing the model you want to use and served with vLLM
python -m vllm.entrypoints.openai.api_server --model <valid_model_supported_in_vllm>

and then you can use langchain's VLLMOpenAI to call it from the server's URL using an OpenAI-like interface.
If you don't like this approach or if you find it confusing, just use langchain.llms.VLLM instead.

The think is, that langchain.llms.VLLM doesn't provide the alternative to use a vLLM as a client (vLLM is running on a different server). So I want to have the same mechanism as for openAI, but for open source models that we host ourselves in separate servers.

@mauri3112 I see. Then VLLMOpenAI is the right class for this.

that is a nice problem for a project. I will see whether I can develop a new class.


Can't follow<EMAIL_ADDRESS>via mostr.pub

I'm using Nostr and I want to bridge with Bluesky.
So I tried to follow<EMAIL_ADDRESS>but not bridged.

Hi! Sorry for the trouble. Have you looked at https://fed.brid.gy/docs#troubleshooting ?

I probably shouldn't be on this one.

Hmm! Sorry if we weren't able to help. Tentatively closing, but feel free to reopen.

I'm using Nostr and I want to bridge with Bluesky. So I tried to follow<EMAIL_ADDRESS>but not bridged.

I know other Nostr accounts that have enabled Bluesky bridge with momostr.pink Nostr bridge instead of mostr.pub Nostr bridge
Examples:

https://bsky.app/profile/npub1qspus6smkn8mcdxg5jflh50s69vdgtwsd5p74gmjpzp2qekn5duqfv5afj.momostr.pink.ap.brid.gy
https://bsky.app/profile/npub1hgclq59xd44wuulmykzqtfz0elaxvt3y0p8xv5y5f78u95cgjsnshhy0we.momostr.pink.ap.brid.gy

Address of<EMAIL_ADDRESS>with momostr.pink bridge to follow it:

<EMAIL_ADDRESS>npub1pqr3g2gk3vsnrqk9kwfqqcxc6d5cwjr0hyc0nlzz9py5nf92vd9sn02sck

Hmm, sorry @juanro49! Have you looked at https://fed.brid.gy/docs#troubleshooting ?


Testing Vaildity of JSON

Test to validate the required attributes in species.json

created a new one with correct naming convention.


Add optional variable public to routes to ignore site.allowlist

There are cases where most of the routes should only be allowed for the IP addresses defined in allowlist, but certain routes should be available publicly.

Sorry, I just realised the template is not yet working. I'll give an update, once I fixed the issues and the PR is actually ready for a review.

Would now be ready for a review.

I would appreciate if you can extend the reverse-proxy Molecule testing scenario. I imagine:

Sure, I'll do that.

As just discussed on slack: I'll change the name of the new variable to ignore_allow_list as suggested by @docuteam-kun.


Request for Bower Support

I would like to use your project via bower.
To do so would require:

bower.json file
Tagging a release in github with the version (0.6.6 as of now)
Registering the repo with Bower.io (bower quagga git@github.com:serratus/quaggaJS.git)

Might that be a possibility?

Thanks for the detailed description. I'll let you know when it's done.

+1

+1

Sorry for the long delay. I don't have any experience yet regarding bower, nor have I ever used it. This is something I have to change right away. I hope to have something ready by the end of the week.

Wow, cool!
ᐧ
On Tue, Jul 7, 2015 at 6:50 PM, Christoph Oberhofer <
<EMAIL_ADDRESS>wrote:

Sorry for the long delay. I don't have any experience yet regarding bower,
nor have I ever used it. This is something I have to change right away. I
hope to have something ready by the end of the week.
—
Reply to this email directly or view it on GitHub
https://github.com/serratus/quaggaJS/issues/39#issuecomment-119366104.

--
― Jonathan Clarkin http://jclarkin.github.io ―


transgene synonym instead of public name is displayed- Paper00057211

In the list of transgenes identified:
the first one is displayed as EFA-6 (instead of gmSi13).
@valearna can you please check why?

@valearna I found another paper for which the transgene synonym is displayed instead of public name: http://textpressocentral.org:3000/reagent?paper=00057059&passwd=1567623610.2007623&title=XBP-1%20Remodels%20Lipid%20Metabolism%20to%20Extend%20Longevity.&journal=Cell%20Rep&pmid=31315038&doi=10.1016/j.celrep.2019.06.057&personid=16214&hide_genes=false&hide_alleles=false&hide_strains=false
rmIs111, [F25B3.3::Q40-YFP]
Also published as: Q40::YFP
WBPaper00057059

EFA-6 was mentioned only as a protein name in the references. This would have been a false positive.
The options are:

to display the public name instead of the  synonym (but  this does not solve the problem of erroneous extraction)
Do not match on  synonym for transgenes

To discuss during a meeting

we decided to skip the transgene synonyms as the tables would need substantial clean up.


sending json using post method, got by getData()  but can't use in sendD...

...ata()
/*in case of sending json using post method the class can get this object by getData()
            but can not use the gathered info in sendData() */
            if($this->data){
                $params['data'] = $this->data;
            }
            $result = call_user_func_array(array($obj, $method), $params);

Closing as it appears to do nothing and is quite old/inactive. Please feel free to edit if this is still an issue for your.


DISABLE_SIP doesn't seem to be working

I thought that there was an issue with the way the prepare_iso.sh script was working with matches at first but now I've moved the csrutil disable line out of the conditional and redirected output to a file. I see now that when it's run there is a Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect. but when the system imported and brought up it is not disabled. I've been trying to boot the system into recovery so I can try again but I haven't figured out the magic needed to catch that at boot yet.

In my experience it's possible to boot into it using Cmd+R if you're using VMware Fusion if you're quick enough. If you can't "catch" it in time, it's possible to set a bios boot delay parameters in VMX.

Thanks @timsutton, I'm using VirtualBox and was never able to catch it. I did find a way to boot into recovery by catching the EFI menu and booting the recovery EFI directly. Upon entering recovery and disabling SIP there, the system now actually has SIP disabled.
Do you know if the DISABLE_SIP flag works for you when building the image @timsutton ? It would surprise me if an issue like this was specific to my setup and I'm pretty sure that I've done things correctly. As I had mentioned above, I've even logged the successful output of the command being run in veewee-config.pkg.

My guess is that it's not possible to actually disable SIP on Vbox, because it relies on nvram variables being set. What's the output of nvram -p, both immediately after running csrutil disable and then once booted into the regular OS?

Ditto @xaocon experience with virtualbox 5.1.24 r117012 (Qt5.6.2).
Running MacOS Sierra 10.12.6 I can't even locate the recovery drive from from the EFI Shell to attempt to boot into recovery mode command-r and other variants just drop me into the BIOS with no hope of booting into recovery.
I suspect based off @timsutton and other thoughts here even if I could boot into recovery mode to disable SIP the nvram reset that virtualbox does on boot is going to nullify it anyway.
Huge pain, just getting into KEXT development and I've spent 2 days trying to get a working virtual target machine to develop against :(
I think the resolution here is just shelling out some money for VMware Fusion?


[WIP] implement ALSA seq driver

`Regarding: https://github.com/godotengine/godot-proposals/discussions/5805
This replaces the Linux MIDI ALSA raw driver with ALSA sequencer.
Benefits of using ALSA sequencer:

MIDI ports are not bound, other apps can use them

allow timestamped midi output (when output is implemented, this makes playback of MIDI output trivial)

events are already in the correct MIDI event format, just send them to Godot MIDI driver

no need for a read loop running at 1000 fps (no mutex for reading in), we use poll(2) for events

able to see and patch inputs into generated Godot apps dynamically with ALSA CLI utilities, or GUI patchbay
:warning: This feature is an added bonus.
:pushpin: possibly a future PR should deal with naming client after project name - to be consistent with pulseaudio naming?

^ qpwgraph showing port connections.

Implementation discussion:
This driver acts identical to ALSA raw inside Godot. No change in API, or behaviour:

OS.open_midi_inputs() open & connect to all MIDI input devices & virtual midi ports
OS.get_connected_midi_inputs() discover the currently available MIDI ports. :warning: this may be different to the initial state when MIDI is opened if a device is unplugged, or added.
If the connected inputs are different, calling open_midi_inputs() again will add all inputs again. A game developer can make an auto-reconnect thread by watching the connected inputs manually. We may want to think about adding a signal from inside the MIDI Driver that watches inputs itself, and emits a signal when port topology has changed.

Example of connected device watcher in GDScript:
func check_inputs():
	while(running):
		var new_connected_devices = OS.get_connected_midi_inputs()
		if connected_devices != new_connected_devices:
			connected_devices = new_connected_devices
			OS.open_midi_inputs()
		print(connected_devices)
		OS.delay_msec(100)

Currently OS.get_connected_midi_inputs() isn't functional before OS.open_midi_inputs(), it's possible to implement this in ALSA seq. I don't think this would change current API.
We could add an init(!if_init) to each function, so the sequencer gets init regardless of which one has been called. I don't see the point of having an OS.midi_init(), other than prepping the system, but one would want to setup in/out's in prep anyway.

Update:
I realised that get_connected_midi_inputs() indeed only lists the currently connected ports, not midi inputs that are connected to the system. We may want to enable such behaviour somehow?
Below is a discussion of how it could work:

OS.get_midi_inputs() discover available MIDI ports. :warning: this may be different to the initial state when MIDI is opened if a device is unplugged, or added.
If the connected inputs are different, calling open_midi_inputs() again will add all inputs again. A game developer can make an auto-reconnect thread by watching the connected inputs manually. We may want to think about adding a signal from inside the MIDI Driver that watches inputs itself, and emits a signal when port topology has changed.

Example of connected device watcher in GDScript:
func check_inputs():
	while(running):
		var new_connected_devices = OS.get_midi_inputs()
		if connected_devices != new_connected_devices:
			connected_devices = new_connected_devices
			OS.open_midi_inputs()
		print(connected_devices)
		OS.delay_msec(100)


Update python-programming-advanced.ipynb unit test

Description
Modified part of the code. All modified code is generated by gpt. Add unit tests.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How has this been tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] local build the book
[ ] review the artifacts from local build
[ ] local build the slides if appliable
[ ] Unit test if appliable

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have applied tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

You can resolve the comments in your next PR.


site/clustering.xml: Document that patch release may require a cluster shutdown

[#132823995]

I think the two known exceptions should be listed as an, ahem, list, to make them more visible. We can document it as "known exceptions."


Update deprecated imports

Motivation
Prior to implementing #6081 as part of CI, these changes would be merged to update all of our code to import from the recommended base package.

/azp run

Current windows failure due to changed URL for odbc driver.  Will address in separate PR.
This line: https://github.com/DataDog/integrations-core/blob/887524a23f58e576bfd47b9eb73feb86f8760152/.azure-pipelines/scripts/sqlserver/windows/32_install_odbc.bat#L3
Needs to reference this URL now: https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/en-US/<IP_ADDRESS>/x64/msodbcsql.msi


App does not start on IE 11

There is a blank screen and errors in the console in older browsers, which are unfortunately still a default for an important segment of our users. We need to at least detect the browser and put in a warning dialog asking the user to try a different one.

I've made sure that we're correctly transpiling the webpack build and addressed a further bug by removing the swipe component that was being used by the "Tour" component, which I have disabled anyway for the time being as we are not using it. If we need to use it, we might need to check that project's webpack settings. Additionally, I hard coded the button color values in App.vue due to lack of CSS variable support in IE 11 - whose polyfill seems to be problematic in Vue.js.


Still Unresolved - file_get_contents(...): failed to open stream: No such file or directory

Hi @lajax ,
I have updated code as necessary but this still throws exactly the same error!
composer didn't seem to pick up 515449d so I had to remove it from composer.json and update - and then add it back and update again.
It seems that the PATH passed to PhpJsMinifier.php by Minifier.php is wrong
The error thrown is;
file_get_contents(/var/www/advanced/frontend/web/vendor/revslider/js/jquery.themepunch.tools.min.js): failed to open stream: No such file or directory
The file you are looking for is actually in;
/var/www/advanced/frontend/web/assets/vendor/revslider/js/jquery.themepunch.tools.min.js
Here's the relevant Asset bundle
 \yii\web\View::POS_END,
];

public $css = [
    ["css/extralayers.css", "media"=>"screen",],
    ["vendor/revslider/css/settings.css", "media"=>"screen",],
];

public $js = [
    "vendor/revslider/js/jquery.themepunch.tools.min.js",
    "vendor/revslider/js/jquery.themepunch.revolution.min.js",
];

public $images = [
];

public $depends = [
    'frontend\assets\FrontendAsset',
];
}

Is there anything I can do to assist you troubleshoot this bug?

Hi,
I think this is not a problem with the extension.
If you specifiy basePath as @webroot, and a javascript path as vendor/revslider/js/jquery.themepunch.tools.min.js, then the full path of the JS file will be @webroot/vendor/revslider/js/jquery.themepunch.tools.min.js (basePath + JS path), which does not exist, and the extension can't access the file.
Also, why are your files in the assets directory? You should not put your files here, as Yii uses this folder for publishing assets. This directory should be ignored in your VCS.
Move your files elsewhere if they are inside @webroot/assets (for example @webroot/css, @webroot/js). Try fix your paths in $js, and $css.
Also you could try separate the revslider config into a separate AssetBundle, and specify the bundle in the depends attribute (or register in the view, if it used only a few places, not everywhere).

Thanks for clarifying @moltam, I will make these changes and report back.
My intention was not to blame the extension but just to get the help I need. I really do appreciate the effort that has gone into this by @lajax and the many other extensions by the community as well as the volunteer effort to support them.
Adam

Hi @moltam , @lajax - here's my update after apply all recommended changes

Vendor  folder moved off assets
Asset Bundle changed to the listing at the end of the post;
Links to asset files verified working by viewing source.

The error message is now (still in the same function);

Please note that it is still looking for the file in the wrong place rather than '@webroot/vendor/revslider' + '/js/jquery.themepunch.revolution.min.js' ($basePath + $js)

**PHP Warning – yii\base\ErrorException
filemtime(): stat failed for /var/www/advanced/frontend/web/js/jquery.themepunch.tools.min.js**

 \yii\web\View::POS_END,
    ];

    public $css = [
        ["css/extralayers.css", "media"=>"screen",],
        ["css/settings.css", "media"=>"screen",],
    ];

    public $js = [
        "js/jquery.themepunch.tools.min.js",
        "js/jquery.themepunch.revolution.min.js",
    ];

    public $images = [
    ];

    public $depends = [
        'frontend\assets\FrontendAsset',
    ];
}

I can't reproduce this with the latest version. However this error happens with 1.0.0 (#4cce94c). Are you sure you are using the latest version? It does not have a version tagged yet, so you have to use dev-master in composer.json.

Hi @moltam ,
I have now updated with "lajax/yii2-asset-minifier": "dev-master", in composer.json and tried to run again.
Happy to report that those particular bugs have been resolved in dev-master 8bfd1c7. The extension generated a couple of compressed files in the correct folder but failed again with 2 new errors;
-1- Non support for using arrays to specify js and css options in asset bundles (supported by yii2 since 2.0.7
-2- RuntimeException; Unclosed string at position: 2812; ../JShrink/Minifier.php
I will go ahead and close this and log 2 new issues for proper tracking


[FEATURE] Requests metadata from the file name

I like the style of stump and would like to move my comic library here
An important problem, however, is that there is almost no corresponding file for the standard metadata in the ZIP file
I, however, followed the EHERENTAI naming convention to the method strictly：
(years)[ Artist ] TITLE (Series)[ Language ] .
I think this can greatly facilitate the process of dealing with a large number of zips
Is also my hope that Stump can develop the function, I wish Stump better and better，thank U！

Happy you like the style of Stump!

An important problem, however, is that there is almost no corresponding file for the standard metadata in the ZIP file

I'm not sure what you mean, maybe I am just misunderstanding. Stump does collect metadata from a select set of files common in the community, see https://www.stumpapp.dev/guides/basics/books#metadata. Are you saying that your files, specifically, do not have metadata files inside of them?

(years)[ Artist ] TITLE (Series)[ Language ]

I'm not necessarily opposed to supporting this, but it would be a medium-large effort to adjust the scanner to look for and match on it. I'll keep this in consideration, but can't make any timeline promises 🙂

That's right, most of my files are comic strip packages, almost all of them are pictures, because no one will maintain and write metadata files. They look like these：

I've used pretty much all the self-hosting software available, and I think the most feature-rich is the desktop version of Calibre, but I gave up because it was too much work. I think some of the best features are (1) custom character scraping for author name, title, and so on, (2) author name mapping because authors can have multiple names, and (3) write metadata, custom edited metadata can be written to. Zip, . CBR compression package for easy archiving. I hope this helps developers think outside the box, but I wish Stump every success as a differentiated, self-hosted software, and I'd move quickly to add it if more function could be added. Best wishes.


Question about test

Hi,
I ran the code of test, and the results are shown as blow.

I wonder whether the repo supports evaluation of mAP of iou@[03:0.7], as reported in the paper.
Another question is why the inference needs so much time?
Thanks.

If you need to evaluate different mAP, you only need to pass different iou_thr value to evaluate function here in tools/test.py here. We suggest to save the inference results first (set --out when testing), then run evaluation with different iou_thr, since inference is quite time-consuming.
While comparing to training process which only deal with a clip of 768-frame-length per video, testing would process  whole video. Since the model can only process limited length of sequential data, videos are cropped by an overlap ratio of 25% when testing. Besides, processing video data is quite time-consuming already. That's what makes testing process look much more slower than training. After our optimization, the speed of testing process is already lifted a lot.

Thanks for your clarification!

Since the inference needs so much time, will you support the DDP testing in the future?

@wjn922 How did you train for such a result?


Bug: When you click on the reaction button, the width of the website changes.

Describe the bug
Please follow these steps to observe the navbar width change on the Highlights page:

Navigate to the Highlights page.
Click on the "Any post reaction" button.
Carefully observe the Navbar. You will notice that its width changes when you click on the reaction button.
This width change is a result of clicking on the reaction button.

https://github.com/open-sauced/app/assets/94627200/2f38f40d-c3a9-4659-8c74-bccf9479ae73
Steps to reproduce

Goto "Highlights page"
Click on the "Any post reaction button"
Now "Check the Navbar carefully. The width of the navbar will change when clicking on the reaction button"

Browsers
Edge
Additional context (Is this in dev or production?)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[X] I agree to follow this project's Contribution Docs

Same problem as in #2252, I can make a pull request once it's been triaged.

This still looks to be a problem in the highlights page. Something in the header bar needs fixing maybe?

.take


the client has shown the client time out error

And I check the state of JAVA Edition minecraft server.The state of it is a right state.It really works.But I get some unexpected timeout errors in the project.
Like this
Errormessage: Error: client tined out after 30000 milliseoonds., Please reload the page

the destination of connecting server's address like mc.fengxing.tech port is 25565


feat(text): add push methods for text and line

Adds the following methods to the Text and Line structs:

Text::push_line
Text::push_span
Line::push_span

This allows for adding lines and spans to a text object without having
to call methods on the fields directly, which is usefult for incremental
construction of text objects.

The underlying use case that prompted this change is the following code that defines a JsonWidget. This code is significantly simplified from the equivalent that calls into the fields, as there are problems borrowing the fields mutably multiple times.
pub struct JsonWidget {
    json: Value,
}

const PUNCTUATION_STYLE: Style = Style::new().add_modifier(Modifier::BOLD).fg(Color::White);
const KEY_STYLE: Style = Style::new().add_modifier(Modifier::BOLD).fg(Color::Blue);
const STRING_STYLE: Style = Style::new().fg(Color::Green);
const NUMBER_STYLE: Style = Style::new().fg(Color::Yellow);
const BOOLEAN_STYLE: Style = Style::new().fg(Color::Cyan);
const NULL_STYLE: Style = Style::new().add_modifier(Modifier::DIM);

impl Widget for &JsonWidget {
    fn render(self, area: Rect, buf: &mut Buffer) {
        let mut text = Text::raw("");
        push_value(&self.json, &mut text, 0);
        text.render(area, buf);
    }
}

fn push_value(value: &Value, text: &mut Text, indent: usize) {
    match value {
        Value::Null => push_null(text),
        Value::Bool(b) => push_bool(text, *b),
        Value::Number(num) => push_number(text, num),
        Value::String(s) => push_string(text, s),
        Value::Array(arr) => push_array(text, arr, indent),
        Value::Object(map) => push_object(text, map, indent),
    };
}

fn push_null(text: &mut Text) {
    let null = Span::styled("null", NULL_STYLE);
    text.push_span(null);
}

fn push_bool(text: &mut Text, b: bool) {
    let bool = Span::styled(b.to_string(), BOOLEAN_STYLE);
    text.push_span(bool);
}

fn push_number(text: &mut Text, num: &Number) {
    let num = Span::styled(format!("{}", num), NUMBER_STYLE);
    text.push_span(num);
}

fn push_string(text: &mut Text, s: &str) {
    let string = Span::styled(format!("\"{}\"", s), STRING_STYLE);
    text.push_span(string);
}

fn push_array(text: &mut Text, arr: &[Value], indent: usize) {
    let open_bracket = Span::styled("[", PUNCTUATION_STYLE);
    let close_bracket = Span::styled("]", PUNCTUATION_STYLE);
    let comma = Span::styled(", ", PUNCTUATION_STYLE);

    text.push_span(open_bracket);
    for (i, value) in arr.iter().enumerate() {
        if i > 0 {
            text.push_span(comma.clone());
        }
        text.push_line(" ".repeat(indent + 2).into());
        push_value(value, text, indent + 2);
    }
    if !arr.is_empty() {
        text.push_line(" ".repeat(indent).into());
    }
    text.push_span(close_bracket)
}

fn push_object(text: &mut Text, map: &Map<String, Value>, indent: usize) {
    let open_brace = Span::styled("{", PUNCTUATION_STYLE);
    let close_brace = Span::styled("}", PUNCTUATION_STYLE);
    let comma = Span::styled(", ", PUNCTUATION_STYLE);
    let colon = Span::styled(": ", PUNCTUATION_STYLE);

    text.push_span(open_brace);
    for (i, (key, value)) in map.iter().enumerate() {
        let key = Span::styled(format!("\"{}\"", key), KEY_STYLE);
        if i > 0 {
            text.push_span(comma.clone());
        }
        text.push_line(" ".repeat(indent + 2).into());
        text.push_span(key);
        text.push_span(colon.clone());
        push_value(value, text, indent + 2);
    }
    if !map.is_empty() {
        text.push_line(" ".repeat(indent).into());
    }
    text.push_span(close_brace)
}

I'll wait on a second review for some feedback on this one as it's a change to the APIs which could do with some input. I think these are the most likely the right names for this, but I was wrong about the to_xxx_aligned() method names recently.

Personally I try to create something only once I have all the parts for it together. So in this case I would have started with a Vec which I only put into the Text as a last step. But especially with the push_span these are more helpful in this case.

Yeah, that's reasonable I guess and for making things editable it might be the better approach for the JSON editor tutorial anyway especially because the selection needs to track which spans are editable and which are not. For that I'm trying to simplify the code needed to create an editor as much as possible. The idea there being more about showing how to make an app interactive than about making it pretty (but making it pretty is an important secondary goal).
I would probably use a tree widget in a real app for this sort of thing, but generally try to avoid third party things for tutorial code.


Added support for data elements to reference other data elements.

Coverage decreased (-0.1%) to 98.21% when pulling c5fbf3238683a660d722d8da3fe9f743ae5b333d on data-element-ref-data-element into 23a8f58d237ebafa16e16f7bc95dd48c2d36cc9a on master.


[New Snap] NEAR Protocol

Checklist
All items in the list below needs to be satisfied.

[x] Is the Snap repository publicly accessible and linked in this ticket? https://github.com/here-wallet/near-snap
[x] Is the Snap distributed on npm and linked in this ticket? https://www.npmjs.com/package/@near-snap/plugin
[x] Has an audit been performed and the audit report attached or linked in this issue? https://github.com/NEARBuilders/audits/blob/main/Audits/2023-09-12-Ottersec-NEAR_SNAP.pdf
[ ] Is a complete list of discovered vulnerabilities from the audit documented in this issue?
[ ] For vulnerabilities that have been deemed necessary to be addressed, are the links to the fixes attached to this issue?
[ ] For vulnerabilities that have been deemed not necessary to be addressed, is a reason for each of them documented in this issue?
[ ] The corresponding pull request in this repo has been merged.

There were only 3 findings in the audit, which were either LOW or INFORMATIONAL. Therefore there were no findings that needed to be addressed. The audit report is clean.


content = True argument - is this removed

Hey @choldgraf  i just ran into an error with nbclean
Here is the code:
# Clean the notebook's content using tags
    cleaner = nbclean.NotebookCleaner(ntbk)
    cleaner.clear(content=True, stderr=True, tag='hide')
    ntbk = cleaner.ntbk

And the error
Traceback (most recent call last):
  File "scripts/generate_posts.py", line 113, in <module>
    cleaner.clear(content=True, stderr=True, tag='hide')
TypeError: clear() got an unexpected keyword argument 'content'

I suspect that content=True is no longer an argument for the .clear method based upon that error and this repo. BUT...  in the docs here it does seem to be a valid argument. But in your repo it clearly is removed.
This script works fine on version .1 but .3.1 seems to have changed. before i make any code changes i just wanted to check with you about the state of nbclean and the arguments that it expects. thank you for any guidance. i may be missing something here too!!
Ok i just studied your code.
do i want kind = 'content' and then i'm not sure what the stderr argument in the original code does.
Also you have tag as a string. i suspect hide will still work. However just a question. What is we wanted to hide the output image rather than the content for some cells but not all. would you use different tags? the code appears to use the kind argument to determine what to hide which fixes the code to only hide one type of thing throughout the notebook? ie it will hide all images. or all content. but you may want to hide one cell's output image and another cell's content.
Just trying to understand how this works! thank you again :)

hey! sorry for the slow response, been in Kansas City for my wedding reception :-)
Thoughts below:

do i want kind = 'content'

yep, rather than having a bunch of XXX=True keywords, I thought it'd be easier to have a single kind=<string> keyword. See this line for the arguments it can take:
https://github.com/choldgraf/nbclean/blob/master/nbclean/clean.py#L29

What is we wanted to hide the output image rather than the content for some cells but not all. would you use different tags?

Yep, I think that'd be the way to go. Just use a tag like hideimage and remove the image outputs only for those cells. Does that work?

@lwasser did you get this figured out? Can I close this? :-)

Yes!! Its working great now. Closing. Thanks @choldgraf !!


Set up tracking sheet for HCA->SCEA

Goal
Set up a tracking sheet for HCA -> SCEA

[ ] Fill with existing HCA datasets on SCEA Gitlab (i.e. done and displayed in broswer)
[ ] Fill in "in-progress" or "in review" HCA -> SCEA datasets
[ ] Check the tracker sheet with the SCEA team: does it contain all the columns they need?

Location
https://docs.google.com/spreadsheets/d/1iQNiES-xLs3wcR6FjKcN9hIXgDFlzpiP2Z6_Syy2QKI/edit#gid=0
Rationale
We, and the SCEA team, need to track which HCA datasets have been curated and uploaded to the SCEA Gitlab for display in their browser. For now, a temporary solution is to set up and manage a tracker sheet that we share with them. The long-term goal is integrate SCEA tracking in ingest but this needs to be prioritised in a future sprint/sprints(s). Tagging @gabsie for reference.

We should work with a zenhub board for that.

With Ami leaving we might go with Amnon's suggestion and stick to the ZenHub board. So I'll close this ticket. As I believe there is nothing more to do on it


Fix percentage in flexing parent

If we don't measure exactly, percentage values aren't exactly either.


Invoking standalone python script to merge jsons from sct_run_batch

Until now, we have only looked at the merging of the image files (i.e. T2w axial and sagittal). However, each of these files is accompanied (complying to the BIDS convention) by a sidecar json file, e.g.:
├── sub-m017255_ses-20120501_acq-ax_chunk-1_dseg.json
├── sub-m017255_ses-20120501_acq-ax_chunk-1_dseg.nii.gz
├── sub-m017255_ses-20120501_acq-ax_chunk-1_T2w.json
├── sub-m017255_ses-20120501_acq-ax_chunk-1_T2w.nii.gz
├── sub-m017255_ses-20120501_acq-ax_chunk-2_dseg.json
├── sub-m017255_ses-20120501_acq-ax_chunk-2_dseg.nii.gz
├── sub-m017255_ses-20120501_acq-ax_chunk-2_T2w.json
├── sub-m017255_ses-20120501_acq-ax_chunk-2_T2w.nii.gz
├── sub-m017255_ses-20120501_acq-ax_chunk-3_dseg.json
├── sub-m017255_ses-20120501_acq-ax_chunk-3_dseg.nii.gz
├── sub-m017255_ses-20120501_acq-ax_chunk-3_T2w.json
├── sub-m017255_ses-20120501_acq-ax_chunk-3_T2w.nii.gz
├── sub-m017255_ses-20120501_acq-sag_chunk-1_T2w.json
├── sub-m017255_ses-20120501_acq-sag_chunk-1_T2w.nii.gz
├── sub-m017255_ses-20120501_acq-sag_chunk-2_T2w.json
├── sub-m017255_ses-20120501_acq-sag_chunk-2_T2w.nii.gz

To merge the jsons in a similar way, I currently plan to have the following strategy:

We have a script (which is located in the bavaria quebec repository) that we call from the bash script we pass to sct_run_batch -script preprocess_spine_db.sh.

This script basically gathers all information from the sidecar jsons, merges the information into a list and either outputs a list of values (if different) or a single value for the key.

Example:
 'Manufacturer': 'Philips Medical Systems', 'ManufacturerModelName': 'Achieva', 'PatientSex': 'F',..., ''SliceThickness': 4.0, 'RepetitionTime': [3292.79516601562, 4303.81640625, 2341.8681640625], 'EchoTime': 90.0, 'NumberOfAverages': [4.0, 4.0, 3.0], 'ImagingFrequency': [127.775144, 127.775019,<PHONE_NUMBER>99999], ...

Similar to the stitching command, we call it from the bash-based command script, i.e. directly in it:

# obtain the directory where the script is located
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )

if (( ${#sag_files[@]} > 1))
then
    sct_image -i ${sag_files[@]} -o "${file}_acq-sag_T2w.nii.gz" -stitch -qc "${PATH_QC}"
    python3 "${SCRIPT_DIR}/merge_jsons.py" -i ${sag_files_json[@]} -o "${file}_acq-sag_T2w.json"
fi

Naturally, merge_json.py cannot be located in the bash script, as it does not get copied to the derivatives/results folder.
Question:

What would be the most practical yet elegant way to invoke the python script in the script we pass to sct_run_batch?
Any feedback w.r.t. to json merging is welcome :slightly_smiling_face: !

Cheers,
Julian

Hi Julian!
I've done this a few times for some projects!
Usually, at the beggining of the script, I initialize a variable with the path of the script.
Here are 2 batch scripts where I do that:

https://github.com/sct-pipeline/pmj-based-csa/blob/main/process_data.sh
https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/blob/main/process_data.sh

For example, in my case, the script was directly in the folder of the repo, so the initial working directory (where we run sct_run_batch):
# Save script path
PATH_SCRIPT=$PWD

...

 # Add padding to seg to overcome edge effect
 python ${PATH_SCRIPT}/pad_seg.py -i ${fileseg}.nii.gz -o ${fileseg}_pad.nii.gz

If your scripts are not in the initial working directory, you could also pass it as an argument in sct_run_batch, with the flag -script-args
and you can retreive it in your script since it will be in $2.
Hope this answers your questions!

Thank you very much for the excellent input and examples, I opted for option two (flag -script-args) in 56a3348.


Add missing dependencies in setup.py

When installing the package the joblib and DRDID packages are missing.
I have included them in the setup.py and also forcing the DRDID package to be installed from the github repo while the pypi package is out of date.
Log
~/gh/di/did-tests                                                          did-tests
❯ python -m pip list
Package Version
------- -------
pip     24.2
❯ pip install git+https://github.com/d2cml-ai/csdid/
Collecting git+https://github.com/d2cml-ai/csdid/
  Cloning https://github.com/d2cml-ai/csdid/ to /tmp/pip-req-build-jniphjlc
  Running command git clone --filter=blob:none --quiet https://github.com/d2cml-ai/csdid/ /tmp/pip-req-build-jniphjlc
  Resolved https://github.com/d2cml-ai/csdid/ to commit 792132bb1202361a993681f904029235d063bb00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pandas (from csdid==0.2.6)
  Using cached pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (89 kB)
Collecting numpy<=1.24.3 (from csdid==0.2.6)
  Using cached numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
Collecting scipy (from csdid==0.2.6)
  Using cached scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
Collecting patsy (from csdid==0.2.6)
  Using cached patsy-0.5.6-py2.py3-none-any.whl.metadata (3.5 kB)
Collecting plotnine (from csdid==0.2.6)
  Using cached plotnine-0.13.6-py3-none-any.whl.metadata (8.9 kB)
Collecting twine (from csdid==0.2.6)
  Using cached twine-5.1.1-py3-none-any.whl.metadata (3.5 kB)
Collecting python-dateutil>=2.8.2 (from pandas->csdid==0.2.6)
  Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting pytz>=2020.1 (from pandas->csdid==0.2.6)
  Using cached pytz-2024.2-py2.py3-none-any.whl.metadata (22 kB)
Collecting tzdata>=2022.7 (from pandas->csdid==0.2.6)
  Using cached tzdata-2024.2-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting six (from patsy->csdid==0.2.6)
  Using cached six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
Collecting matplotlib>=3.7.0 (from plotnine->csdid==0.2.6)
  Using cached matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Collecting mizani~=0.11.0 (from plotnine->csdid==0.2.6)
  Using cached mizani-0.11.4-py3-none-any.whl.metadata (4.8 kB)
Collecting statsmodels>=0.14.0 (from plotnine->csdid==0.2.6)
  Using cached statsmodels-0.14.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.2 kB)
Collecting pkginfo>=1.8.1 (from twine->csdid==0.2.6)
  Using cached pkginfo-1.11.2-py3-none-any.whl.metadata (11 kB)
Collecting readme-renderer>=35.0 (from twine->csdid==0.2.6)
  Using cached readme_renderer-44.0-py3-none-any.whl.metadata (2.8 kB)
Collecting requests>=2.20 (from twine->csdid==0.2.6)
  Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting requests-toolbelt!=0.9.0,>=0.8.0 (from twine->csdid==0.2.6)
  Using cached requests_toolbelt-1.0.0-py2.py3-none-any.whl.metadata (14 kB)
Collecting urllib3>=1.26.0 (from twine->csdid==0.2.6)
  Using cached urllib3-2.2.3-py3-none-any.whl.metadata (6.5 kB)
Collecting importlib-metadata>=3.6 (from twine->csdid==0.2.6)
  Using cached importlib_metadata-8.5.0-py3-none-any.whl.metadata (4.8 kB)
Collecting keyring>=15.1 (from twine->csdid==0.2.6)
  Using cached keyring-25.4.1-py3-none-any.whl.metadata (20 kB)
Collecting rfc3986>=1.4.0 (from twine->csdid==0.2.6)
  Using cached rfc3986-2.0.0-py2.py3-none-any.whl.metadata (6.6 kB)
Collecting rich>=12.0.0 (from twine->csdid==0.2.6)
  Using cached rich-13.9.2-py3-none-any.whl.metadata (18 kB)
Collecting pkginfo>=1.8.1 (from twine->csdid==0.2.6)
  Using cached pkginfo-1.10.0-py3-none-any.whl.metadata (11 kB)
Collecting zipp>=3.20 (from importlib-metadata>=3.6->twine->csdid==0.2.6)
  Using cached zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB)
Collecting jaraco.classes (from keyring>=15.1->twine->csdid==0.2.6)
  Using cached jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)
Collecting jaraco.functools (from keyring>=15.1->twine->csdid==0.2.6)
  Using cached jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)
Collecting jaraco.context (from keyring>=15.1->twine->csdid==0.2.6)
  Using cached jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)
Collecting SecretStorage>=3.2 (from keyring>=15.1->twine->csdid==0.2.6)
  Using cached SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)
Collecting jeepney>=0.4.2 (from keyring>=15.1->twine->csdid==0.2.6)
  Using cached jeepney-0.8.0-py3-none-any.whl.metadata (1.3 kB)
Collecting contourpy>=1.0.1 (from matplotlib>=3.7.0->plotnine->csdid==0.2.6)
  Using cached contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.4 kB)
Collecting cycler>=0.10 (from matplotlib>=3.7.0->plotnine->csdid==0.2.6)
  Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)
Collecting fonttools>=4.22.0 (from matplotlib>=3.7.0->plotnine->csdid==0.2.6)
  Using cached fonttools-4.54.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (163 kB)
Collecting kiwisolver>=1.3.1 (from matplotlib>=3.7.0->plotnine->csdid==0.2.6)
  Using cached kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.3 kB)
Collecting packaging>=20.0 (from matplotlib>=3.7.0->plotnine->csdid==0.2.6)
  Using cached packaging-24.1-py3-none-any.whl.metadata (3.2 kB)
Collecting pillow>=8 (from matplotlib>=3.7.0->plotnine->csdid==0.2.6)
  Using cached pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (9.2 kB)
Collecting pyparsing>=2.3.1 (from matplotlib>=3.7.0->plotnine->csdid==0.2.6)
  Using cached pyparsing-3.1.4-py3-none-any.whl.metadata (5.1 kB)
Collecting nh3>=0.2.14 (from readme-renderer>=35.0->twine->csdid==0.2.6)
  Using cached nh3-0.2.18-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.7 kB)
Collecting docutils>=0.21.2 (from readme-renderer>=35.0->twine->csdid==0.2.6)
  Using cached docutils-0.21.2-py3-none-any.whl.metadata (2.8 kB)
Collecting Pygments>=2.5.1 (from readme-renderer>=35.0->twine->csdid==0.2.6)
  Using cached pygments-2.18.0-py3-none-any.whl.metadata (2.5 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.20->twine->csdid==0.2.6)
  Using cached charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (34 kB)
Collecting idna<4,>=2.5 (from requests>=2.20->twine->csdid==0.2.6)
  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting certifi>=2017.4.17 (from requests>=2.20->twine->csdid==0.2.6)
  Using cached certifi-2024.8.30-py3-none-any.whl.metadata (2.2 kB)
Collecting markdown-it-py>=2.2.0 (from rich>=12.0.0->twine->csdid==0.2.6)
  Using cached markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=12.0.0->twine->csdid==0.2.6)
  Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring>=15.1->twine->csdid==0.2.6)
  Using cached cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.4 kB)
Collecting more-itertools (from jaraco.classes->keyring>=15.1->twine->csdid==0.2.6)
  Using cached more_itertools-10.5.0-py3-none-any.whl.metadata (36 kB)
Collecting backports.tarfile (from jaraco.context->keyring>=15.1->twine->csdid==0.2.6)
  Using cached backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)
Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring>=15.1->twine->csdid==0.2.6)
  Using cached cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring>=15.1->twine->csdid==0.2.6)
  Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Using cached numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
Using cached pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)
Using cached patsy-0.5.6-py2.py3-none-any.whl (233 kB)
Using cached plotnine-0.13.6-py3-none-any.whl (1.3 MB)
Using cached scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (41.2 MB)
Using cached twine-5.1.1-py3-none-any.whl (38 kB)
Using cached importlib_metadata-8.5.0-py3-none-any.whl (26 kB)
Using cached keyring-25.4.1-py3-none-any.whl (38 kB)
Using cached matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB)
Using cached mizani-0.11.4-py3-none-any.whl (127 kB)
Using cached pkginfo-1.10.0-py3-none-any.whl (30 kB)
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Using cached pytz-2024.2-py2.py3-none-any.whl (508 kB)
Using cached readme_renderer-44.0-py3-none-any.whl (13 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
Using cached rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)
Using cached rich-13.9.2-py3-none-any.whl (242 kB)
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Using cached statsmodels-0.14.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB)
Using cached tzdata-2024.2-py2.py3-none-any.whl (346 kB)
Using cached urllib3-2.2.3-py3-none-any.whl (126 kB)
Using cached certifi-2024.8.30-py3-none-any.whl (167 kB)
Using cached charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (142 kB)
Using cached contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (323 kB)
Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)
Using cached docutils-0.21.2-py3-none-any.whl (587 kB)
Using cached fonttools-4.54.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Using cached jeepney-0.8.0-py3-none-any.whl (48 kB)
Using cached kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB)
Using cached markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Using cached nh3-0.2.18-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (769 kB)
Using cached packaging-24.1-py3-none-any.whl (53 kB)
Using cached pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl (4.5 MB)
Using cached pygments-2.18.0-py3-none-any.whl (1.2 MB)
Using cached pyparsing-3.1.4-py3-none-any.whl (104 kB)
Using cached SecretStorage-3.3.3-py3-none-any.whl (15 kB)
Using cached zipp-3.20.2-py3-none-any.whl (9.2 kB)
Using cached jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)
Using cached jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)
Using cached jaraco.functools-4.1.0-py3-none-any.whl (10 kB)
Using cached cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl (4.0 MB)
Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Using cached backports.tarfile-1.2.0-py3-none-any.whl (30 kB)
Using cached more_itertools-10.5.0-py3-none-any.whl (60 kB)
Using cached cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (467 kB)
Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Building wheels for collected packages: csdid
  Building wheel for csdid (pyproject.toml) ... done
  Created wheel for csdid: filename=csdid-0.2.6-py3-none-any.whl size=22462 sha256=50c7a295afe633799baac03341b3bfc1cdc498aefac01e44fbdcdc0dd924b515
  Stored in directory: /tmp/pip-ephem-wheel-cache-vkf2nfdj/wheels/51/7d/a1/002d42b36e7288f418457a532a826f270294dee0aacad27de1
Successfully built csdid
Installing collected packages: pytz, nh3, zipp, urllib3, tzdata, six, rfc3986, pyparsing, Pygments, pycparser, pkginfo, pillow, packaging, numpy, more-itertools, mdurl, kiwisolver, jeepney, idna, fonttools, docutils, cycler, charset-normalizer, certifi, backports.tarfile, scipy, requests, readme-renderer, python-dateutil, patsy, markdown-it-py, jaraco.functools, jaraco.context, jaraco.classes, importlib-metadata, contourpy, cffi, rich, requests-toolbelt, pandas, matplotlib, cryptography, statsmodels, SecretStorage, mizani, plotnine, keyring, twine, csdid
Successfully installed Pygments-2.18.0 SecretStorage-3.3.3 backports.tarfile-1.2.0 certifi-2024.8.30 cffi-1.17.1 charset-normalizer-3.4.0 contourpy-1.3.0 cryptography-43.0.1 csdid-0.2.6 cycler-0.12.1 docutils-0.21.2 fonttools-4.54.1 idna-3.10 importlib-metadata-8.5.0 jaraco.classes-3.4.0 jaraco.context-6.0.1 jaraco.functools-4.1.0 jeepney-0.8.0 keyring-25.4.1 kiwisolver-1.4.7 markdown-it-py-3.0.0 matplotlib-3.9.2 mdurl-0.1.2 mizani-0.11.4 more-itertools-10.5.0 nh3-0.2.18 numpy-1.24.3 packaging-24.1 pandas-2.2.3 patsy-0.5.6 pillow-10.4.0 pkginfo-1.10.0 plotnine-0.13.6 pycparser-2.22 pyparsing-3.1.4 python-dateutil-2.9.0.post0 pytz-2024.2 readme-renderer-44.0 requests-2.32.3 requests-toolbelt-1.0.0 rfc3986-2.0.0 rich-13.9.2 scipy-1.14.1 six-1.16.0 statsmodels-0.14.4 twine-5.1.1 tzdata-2024.2 urllib3-2.2.3 zipp-3.20.2
❯ python example.py
Traceback (most recent call last):
  File "/home/jsr-p/gh-repos/did-repos/did-tests/example.py", line 5, in <module>
    from csdid.att_gt import ATTgt
  File "/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/att_gt.py", line 2, in <module>
    from csdid.aggte_fnc.aggte import aggte as agg_te
  File "/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/aggte_fnc/aggte.py", line 83, in <module>
    from csdid.aggte_fnc.compute_aggte import compute_aggte
  File "/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/aggte_fnc/compute_aggte.py", line 7, in <module>
    from csdid.aggte_fnc.utils import get_agg_inf_func, get_se, wif, AGGTEobj
  File "/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/aggte_fnc/utils.py", line 2, in <module>
    from csdid.utils.mboot import mboot
  File "/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/utils/mboot.py", line 3, in <module>
    from joblib import Parallel, delayed
ModuleNotFoundError: No module named 'joblib'
❯ pip install joblib
Collecting joblib
  Using cached joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)
Using cached joblib-1.4.2-py3-none-any.whl (301 kB)
Installing collected packages: joblib
Successfully installed joblib-1.4.2
❯ python example.py
Traceback (most recent call last):
  File "/home/jsr-p/gh-repos/did-repos/did-tests/example.py", line 5, in <module>
    from csdid.att_gt import ATTgt
  File "/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/att_gt.py", line 5, in <module>
    from csdid.attgt_fnc.compute_att_gt import compute_att_gt
  File "/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/attgt_fnc/compute_att_gt.py", line 3, in <module>
    from drdid import drdid, reg_did, ipwd_did
ModuleNotFoundError: No module named 'drdid'
❯ pip install git+https://github.com/d2cml-ai/DRDID
Collecting git+https://github.com/d2cml-ai/DRDID
  Cloning https://github.com/d2cml-ai/DRDID to /tmp/pip-req-build-o8d70zs2
  Running command git clone --filter=blob:none --quiet https://github.com/d2cml-ai/DRDID /tmp/pip-req-build-o8d70zs2
  Resolved https://github.com/d2cml-ai/DRDID to commit 90776e21b5778cd95228e3fd31ca8d2d257d2608
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: pandas in ./.venv/lib/python3.11/site-packages (from drdid==1.1.5) (2.2.3)
Requirement already satisfied: numpy<=1.24.3 in ./.venv/lib/python3.11/site-packages (from drdid==1.1.5) (1.24.3)
Requirement already satisfied: statsmodels in ./.venv/lib/python3.11/site-packages (from drdid==1.1.5) (0.14.4)
Requirement already satisfied: python-dateutil>=2.8.2 in ./.venv/lib/python3.11/site-packages (from pandas->drdid==1.1.5) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in ./.venv/lib/python3.11/site-packages (from pandas->drdid==1.1.5) (2024.2)
Requirement already satisfied: tzdata>=2022.7 in ./.venv/lib/python3.11/site-packages (from pandas->drdid==1.1.5) (2024.2)
Requirement already satisfied: scipy!=1.9.2,>=1.8 in ./.venv/lib/python3.11/site-packages (from statsmodels->drdid==1.1.5) (1.14.1)
Requirement already satisfied: patsy>=0.5.6 in ./.venv/lib/python3.11/site-packages (from statsmodels->drdid==1.1.5) (0.5.6)
Requirement already satisfied: packaging>=21.3 in ./.venv/lib/python3.11/site-packages (from statsmodels->drdid==1.1.5) (24.1)
Requirement already satisfied: six in ./.venv/lib/python3.11/site-packages (from patsy>=0.5.6->statsmodels->drdid==1.1.5) (1.16.0)
Building wheels for collected packages: drdid
  Building wheel for drdid (pyproject.toml) ... done
  Created wheel for drdid: filename=drdid-1.1.5-py3-none-any.whl size=9530 sha256=68ce4b621eb359f05abc6f4c0e6cd70863e266fba3a9d54c84fa5b6135f55eb8
  Stored in directory: /tmp/pip-ephem-wheel-cache-0z2z4jk3/wheels/bd/21/1a/b47917442e9a4973a8f55ba05fff84a33641f5ae20fede75db
Successfully built drdid
Installing collected packages: drdid
Successfully installed drdid-1.1.5
❯ python example.py
    Group  Time  ATT(g, t)  Post  Std. Error  [95% Pointwise  Conf. Band]
0    2004  2004    -0.0105     0      0.0238         -0.0742       0.0532
1    2004  2005    -0.0704     0      0.0300         -0.1508       0.0099
2    2004  2006    -0.1373     0      0.0394         -0.2428      -0.0318  *
3    2004  2007    -0.1008     0      0.0361         -0.1975      -0.0041  *
4    2006  2004     0.0065     0      0.0235         -0.0564       0.0695
5    2006  2005    -0.0028     0      0.0203         -0.0571       0.0516
6    2006  2006    -0.0046     0      0.0180         -0.0529       0.0437
7    2006  2007    -0.0412     0      0.0215         -0.0988       0.0163
8    2007  2004     0.0305     0      0.0151         -0.0098       0.0708
9    2007  2005    -0.0027     0      0.0168         -0.0477       0.0423
10   2007  2006    -0.0311     0      0.0188         -0.0814       0.0192
11   2007  2007    -0.0261     0      0.0172         -0.0722       0.0201

Overall summary of ATT's based on calendar time aggregation:
    ATT Std. Error  [95.0%  Conf. Int.]
-0.0417     0.0169 -0.0747      -0.0087 *

Time Effects (calendar):
   Time  Estimate  Std. Error  [95.0% Simult.   Conf. Band
0  2004   -0.0105      0.0240          -0.0575      0.0365
1  2005   -0.0704      0.0323          -0.1337     -0.0071  *
2  2006   -0.0488      0.0218          -0.0916     -0.0061  *
3  2007   -0.0371      0.0138          -0.0641     -0.0100  *
---
Signif. codes: `*' confidence band does not cover 0
Control Group:  Never Treated ,
Anticipation Periods:  0
Estimation Method:  Doubly Robust

<csdid.att_gt.ATTgt object at 0x7365966375d0>
/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/plots/gplot.py:19: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future error of pandas. Value '['2004' '2005' '2006' '2007']' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.
  ssresults.loc[:, 'year'] = ssresults['year'].astype(int).astype(str)
/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/plots/gplot.py:19: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future error of pandas. Value '['2004' '2005' '2006' '2007']' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.
  ssresults.loc[:, 'year'] = ssresults['year'].astype(int).astype(str)
/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/plots/gplot.py:19: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future error of pandas. Value '['2004' '2005' '2006' '2007']' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.
  ssresults.loc[:, 'year'] = ssresults['year'].astype(int).astype(str)
/home/jsr-p/gh-repos/did-repos/did-tests/.venv/lib/python3.11/site-packages/csdid/plots/gplot.py:19: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future error of pandas. Value '['2004' '2005' '2006' '2007']' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.
  ssresults.loc[:, 'year'] = ssresults['year'].astype(int).astype(str)

thanks!


Whether dicom images can be displayed with less metadata

What feature or change would you like to see made?
The dicom data returned by the server is as follows, and the image cannot be viewed in the viewer because the required metadata is missing
{
"patientName": "HUANG CHANG BO",
"studyInstanceUID": "1.2.840.1136<IP_ADDRESS>.604659834.248.1708447883.18",
"seriesID": "1163",
"seriesInstanceUID": "1.2.840.1136<IP_ADDRESS>.604659834.248.1708447883.21",
"seriesNumber": "1",
"modality": "CT",
"sopInstanceUID": "",
"instanceNumber": "1",
"filePath": "http://<IP_ADDRESS>:8091/Image/CT/C0145468/44788318_20240226/1_ccb476c7523aa6afbae8b334b50086f2/AT000001.DCM"
}
Why should we prioritize this feature?
Is there a way to get the dcm file directly from filePath in the json file and render it to the viewer

do you use the dicom-json-generator.js?

Yes, I have.
But the current problem is that I can only get the dcm file through the url and lack the necessary metedata for rendering.
It would be extremely inefficient
if I first requested the dcm file to the local  through the url and then executed the dicom-json-generator.js to generate the json file

what metadata is missing? Perhaps your dicom file is not standard. Can you cross-check with the metadata requirement. Can you try it again with a single dicom file that is not yours. In the document with dicom json provide a sample study, you can test it agaisnt your dicom.

The metadata exists in dicom doesn't guarantee it will be saved in the database, as this is a developer's choice on database design. I don't recommend construct the metadata.json by yourself as you might miss a lot of optional field. What I did was putting all dicoms of that patient in a folder, and let the dicom-json-generator.js do the work for you.

You can take a look at required metadata to load here https://docs.ohif.org/faq#what-are-the-list-of-required-metadata-for-the-ohif-viewer-to-work


fix(python) renamed CdkworkshopStack -> CdkWorkshopStack to resolve python error

Summary
This PR renames the python classname CdkworkshopStack to CdkWorkshopStack. This was causing python to throw a casing error when users copied code from the snippet.
Fixes #244

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

duplicate of https://github.com/aws-samples/aws-cdk-intro-workshop/pull/245 🤦🏻


There is no response when i clicked ok button.

test connection is ok.

The same #4

Hi,
I found the bug root cause and fixed it. A new snapshots are available (same links).
Tell me if it works

Works now


Prefix 'lib' is added twice

When building libprov, the resulting file is named 'liblibprov.a' on some systems

Er, ok...

Ah, thanks!  Fixed in 8a126e09547630ef900177625626b6156052f0ee


added responsiveness to address page(#926)

/kind ui-change
Fixes #926

any update?

@puncsky , updated, please have a look.

thanks


Impl HasChild method for WalkerNode

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files
Coverage Δ

tree_handler.go
100.00% <ø> (ø)

tree_handler_programmably.go
88.00% <ø> (ø)

simple_tree_walker.go
53.65% <75.00%> (-1.61%)
:arrow_down:

... and 1 file with indirect coverage changes
:loudspeaker: Thoughts on this report? Let us know!.


Navbar options not visible in mobile view

Need to change the bg to let users see the options available even in the dark mode.
Please assign this issue to me!

I would like to work on this project. Please assign it to me.


pull request test

this is a pull request test

Hi, please test PRs and other related features in your own repository. This repo is not a playground for learning github.


New theme: Hugo Book

Theme submission
Before submitting a theme please make sure you've read the README.md. It describes in detail what information are needed and which requirements have to be fulfilled for the submission. The check list below can help you.
Link to my theme repository: https://github.com/alex-shpak/hugo-book
I made sure that...

[x] the repository contains a good README.md describing my theme
[x] an open source license has been added to LICENSE
[x] all metadata have been added to theme.toml
[x] screenshots have been added in the images/ folder with the required dimensions
[x] in case I'm using a customized demo via the exampleSite folder that

[x] https://example.com is set as base url in exampleSite/config.{toml, yaml, json} to avoid the abuse of unused domains
[x] the site's content is as neutral as possible (contains no ads etc.) and reflects the features of my theme

[x] I tested my theme against the gohugoio/HugoBasicExample

[x] I've checked the developer tools' console in my browser for error messages

[x] in case my theme is using Hugo Pipes features like toCSS and PostCSS that I have committed the /resources directory with all generated assets, for my theme to work in the basic version of Hugo

Note
This theme intended for markdown documentation and doesn't render blog posts

Hello @alex-shpak and thank you for sharing your theme with the Hugo community.
Your Example Site renders fine when I execute the Themes Site Build Script. 👍
However in your theme's README you need to make the following links absolute like so:
[Example menu](https://raw.githubusercontent.com/alex-shpak/hugo-book/master/exampleSite/content/menu/index.md)
- [Example config file](https://raw.githubusercontent.com/alex-shpak/hugo-book/master/exampleSite/config.yml)

Please do the above and I will mark your theme as ready to be added to the website.
Thanks.

Ah, forgot about these, thanks!
Fixed now 👍

Thanks for making the change @alex-shpak 👍
@digitalcraftsman This is a theme for creating documentation and it is ready to be added to the website.

Hello Alexander,
thank you for sharing this theme with the Hugo community. Your theme should be listed soon on the themes site. It's nice to see more documentation / book themes in our list.
By the way, I'll promote your theme on Hugo's official Twitter account.


Update Heroku Elastic search addon name

Changed Heroku ES name to proper one, however, we should consider moving to some other extension soon, as Bonsai Elasticsearch is not reliable, with its name changing.
Close #1392
Pull Request Checklist
(Please keep this section. It will make maintainer's life easier.)

[x] Privileged views and APIs are guarded by proper permission checks.
[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Database queries are optimized and the number of queries is constant.
[x] The changes are tested.
[x] The code is documented (docstrings, project documentation).
[x] Python code quality checks pass: pycodestyle, pydocstyle, pylint.
[x] JavaScript code quality checks pass: eslint.

Codecov Report

Merging #1397 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1397   +/-   ##
======================================
  Coverage    82.9%   82.9%
======================================
  Files         128     128
  Lines        5775    5775
  Branches      663     663
======================================
  Hits         4788    4788
  Misses        830     830
  Partials      157     157

Continue to review full report at Codecov.

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


Endpoints lamda fix course template Closes #67

Closes #67. Closes #72. Endpoint inline handlers were moved to separate functions. CustomExceptions shared library were implemented to show user information about errors. Find CourseTemplate by ID endpoint added.

Good work.
The only thing: try to make PRs small and atomic in future


Introduce pseudotranslation react policy

Description
Currently the pseudotranslation policy in the native package will
convert all characters it finds. This means that the txnative words
used to handle react interpolation are also converted, which completely
removes the interpolation functionality.
This commit introduces a new policy specifically in the react package
which allows this functionality to continue to work, by purposely not
coverting any instance of "txnative".
This was introduced in the react package because the native package
should have no concept of the react package, and so the only reasonable
way to handle this is to introduce a react-specific policy to handle
this.
Questions

I understand that I'm introducing a new concept of policies in the react package. Happy to discuss whether this is the right approach, but it seemed the most reasonable to keep independence of the native package while resolving the problem.
Please let me know if there's a preferred PR format for contributions
I'm unable to sign the CLA as it is hidden in a login-protected Transifex Docs page. If this is made available I'll happily sign the CLA

@JPeaker Awesome fix, I was thinking that maybe it makes more sense to put this in the packages/native/src/policies/PseudoTranslationPolicy.js file so that it is reusable by other framework in the future, apart from React. This will reduce complexity and make interpolation a core feature. Thoughts?

@nbasili
Thanks! I think it could make a lot of sense to move it there so that the logic doesn't end up duplicated when extending to other frameworks. My only concern is that the native package (as far as I can tell) seems entirely unconcerned with the interpolation concept, and it'd be a shame to pollute it with the implementation details of that for the sake of pseudolocalization, which isn't the most important feature compared to actual translation.
I don't see a particularly good way around that though, so I'm absolutely happy to go the route that you think is best. Not sure how many reviewers to expect on this PR, so if you say it's best to move it, let me know and I'll change the commit!

@JPeaker I guess you gotta give something away and I think the value of putting it in the core package (even if polluting) is greater than creating a new Policy. So yes, you may go ahead and update the commit and I will review it and approve it ASAP :)


Translating UI to Spanish

Added lots of new translations to Spanish. Translated and reviewed by my own.
Might take another look at FrontEnd translations later
#hacktoberfest😬

@eduarguz Thank you so much!!

@mattstauffer Can this PR get the hacktoberfest-accepted label? Not sure how is Hacktober working right now. But I would love to have the Shirt 😅

@eduarguz I think that if it's merged, it counts, and doesn't need the label!


Typecheck within a case statement causes reference error

Am I correct in assuming that this should work?
// a.js

export type Foo = { id: number; title: string; type: 'FOO' | 'BAR'; };

// b.js

import type { Foo } from './a';

const item = { id: 123, title: 'Lorem ipsum', type: 'FOO' };
const x: Foo = item;

I have a similar situation where it keeps saying TypeError: Value of variable "item" violates contract. Expected: Foo Got: { id: number; title: string; type: string; }
However, it works if I keep everything in one file:
type Foo = { id: number; title: string; type: 'FOO' | 'BAR'; };

const item = { id: 123, title: 'Lorem ipsum', 'FOO' };
const x: Foo = item;

In the first, not working, example I've experimented with trying this out:
const item = { id: 123, title: 'Lorem ipsum', 'FOO' };
console.log(Foo(item)); // Logs 'true'
const x: Foo = item;

Which makes me even more confused, because if it's failing, it should return false, right?
Thanks for an awesome lib!

@prewk please could you paste your babelrc?

Sure:
{
  "presets": ["es2015", "react", "stage-0"],
  "plugins": ["transform-runtime", ["typecheck", {
    "disable": {
      "production": true
    }
  }]]
}

@prewk this is happening because of babel6's plugin munging behaviour which causes all sorts of incompatibilities between plugins.
The solution is to set passPerPreset: true in your babelrc. If this doesn't work, try swapping the order of your es2015, react and stage-0 presets. Closing the issue but will reopen if it's still broken,

I upgraded from babel 6.3 to 6.5 to be able to use passPerPreset, got this error which I solved by using this .babelrc:
{
  "passPerPreset": true,
  "presets": ["react", "stage-0", "es2015-loose"],
  "plugins": ["transform-runtime", ["typecheck", {
    "disable": {
      "production": true
    }
  }]]
}

My problem is now resolved, thank you!

@prewk glad to hear it's working.

Encountered a weird bug I suppose origins in Babel?
Consider this:
import type { Service } from './types';

function reduce(state, action) {
  switch (action.type) {
    case SET_SERVICES:
      const services:Array<Service> = action.services;

      console.log(services); // ERROR: services is undefined

      return state;
    default:
      return state;
  }
}

..but, with block scoping around the case:
import type { Service } from './types';

function reduce(state, action) {
  switch (action.type) {
    case SET_SERVICES: {
      const services:Array<Service> = action.services;

      console.log(services); // SUCESS: services is as it should be

      return state;
    }
    default:
      return state;
  }
}

@prewk do you get the same when you disable typecheck?

Actually no, so this might be an actual bug.

I get the error when using const or let but not with var.

@Radivarig  this works in flow-runtime.


Add new build tag: newworker

This is the bare minimum to allow compilation that removes worker.go by adding a new build tag: newworker.
This allows us to refactor and merge major changes to workers without breaking existing workers and work together by merging "dead code". It also defines NEW_WORKER in C, so that we can do #ifdef's depending on the worker running.
Once we are ready, we can delete the build tag and "old workers", making "new workers" the default implementation.
see: #1175

Couldn't we just use a new branch where we'll merge the related PR and rebase regularly against main? I'm not fond of having both implementations in the same code base.

We could. However, looking at pros/cons:
Build tags
pros:

any changes we make, can be done to both while it is in our heads, without much context/branch switching
worst case, we have to do work twice anyway; this just makes it explicit
the person making the change is the one who reconciles it for both versions
no merge conflicts
can see the consequence of a change to both implementations immediately without context/branch switching

cons:

two concurrent implementations
extra complexity

multiple branches
pros:

only have to focus on the implementation you are changing
can make drastic, sweeping changes
easier to wrap your head around

cons:

the person resolving a merge conflict may not be the person who created it (or properly understands the context)
bad merges (duplicated lines, missing lines, etc.)
duplicate effort if a change needs to be made, requiring a context/branch switch

For a small team, on a young codebase (where a bugfix can potentially end up with a refactor), I'd suggest the build tag approach so that both implementations can be changed together. For a bigger team, or a more mature codebase, I'd suggest the branch approach.

can make drastic, sweeping changes

Fixing fibers and allowing dynamically starting/stopping workers also requires a lot of changes in frankenphp.c and other files. That makes keeping around both implementations too messy IMO

Less messy than doing a complex rebase, IMHO.

For these kinds of merge conflicts, you'd likely have to do the work twice anyway (or more). It just becomes a question of doing it twice while it is in your head, or doing it in a random past commit(s) of someone else's changes.
For CI, we don't have to run the actions until we are ready; we can just run the tests locally.

Can this one be closed now that #1137 has been merged?


Methods, classmethods and staticmethods

The effects of descriptors on comparison and identity of methods:
class C:
    def m(self):
        return 1
    @classmethod
    def cm(cls):
        return 2
    @staticmethod
    def sm():
        return 3

# compare methods on the class object
print(C.m == C.m)  # True
print(C.m is C.m)  # True

# compare classmethods on the class object
print(C.cm == C.cm)  # True
print(C.cm is C.cm)  # False ??

# compare staticmethods on the class object
print(C.sm == C.sm)  # True
print(C.sm is C.sm)  # True

c1 = C()
c2 = C()

# compare methods on instances
print(c1.m == c2.m)  # False, makes sense
print(c1.m is c1.m)  # False ??

# compare classmethods on all
print(c1.cm == c2.cm)  # True
print(c1.cm is c2.cm)  # False again

# staticmethods again
print(c1.sm is c2.sm is C.sm)  # always True...

with some more examples in this SO answer.
I can post a PR summarizing it.

That's interesting. We can possibly add following based on the SO answer you linked,
c1.__str__ == c2.__str__  # False
c1.__dict__.__str__ == c2.__dict__.__str__ # True ??

Looking forward to your PR :)


Update Lab00_Setup_Environment.md

Changes proposed in this pull request:

Minor changes to Trial sign up steps.

Will re-review this after #207


First steps

Proposal:
Proposal written by KeinEmxl#3887
What is the title of your proposal?: First steps
Is it a suggestion for the website or for the bot?: Both
Explain your proposal more accurately (It's best to give as much information as possible, so that we can implement the proposal better): When the LenoxBot is the first time on a certain server, the owner should get a tutorial with first important steps like setting a prefix or setting the language. The bot should write this via DM to the server owner or -if the bot was invited via the dashboard- it should ask this questions (prefix?, language?, etc) on the website
Why we should add this feature?: It's helpful for people who are new with the LenoxBot
ReportID: 27

➤ LenoxBot commented:
Approve:
I think that feature could be very helpful for botowners that don't know a lot about bots.
Dadi#7808

➤ LenoxBot commented:
Approve:
good proposal!
Monkeyyy11#0001

➤ LenoxBot commented:
Approve:
Very good suggestion
Nickkel#6515

#1

Therefor we have: https://docs.lenoxbot.com/getting-started